Zephyrnet-logo

Bruk RAG for medikamentoppdagelse med kunnskapsbaser for Amazonas grunnfjell | Amazon Web Services

Dato:

Amazonas grunnfjell tilbyr et bredt spekter av modeller fra Amazon og tredjepartsleverandører, inkludert Anthropic, AI21, Meta, Cohere og Stability AI, og dekker et bredt spekter av brukstilfeller, inkludert tekst- og bildegenerering, innebygging, chat, agenter på høyt nivå med resonnement og orkestrering, med mer. Kunnskapsbaser for Amazon Bedrock lar deg bygge effektive og tilpassede Retrieval Augmented Generation (RAG)-applikasjoner på toppen av AWS og tredjeparts vektorbutikker ved å bruke både AWS og tredjepartsmodeller. Kunnskapsbaser for Amazon Bedrock automatiserer synkronisering av dataene dine med vektorlageret ditt, inkludert differensiering av data når de oppdateres, dokumentinnlasting og chunking, samt semantisk innebygging. Den lar deg sømløst tilpasse RAG-forespørsler og hentingstrategier – vi gir kildeattribusjonen, og vi håndterer minnebehandling automatisk. Knowledge Bases er helt serverløs, så du trenger ikke administrere noen infrastruktur, og når du bruker Knowledge Bases, belastes du kun for modellene, vektordatabasene og lagringen du bruker.

RAG er en populær teknikk som kombinerer bruk av private data med store språkmodeller (LLM). RAG starter med et innledende trinn for å hente relevante dokumenter fra et datalager (oftest en vektorindeks) basert på brukerens spørring. Den bruker deretter en språkmodell for å generere et svar ved å vurdere både de hentede dokumentene og den opprinnelige spørringen.

I dette innlegget demonstrerer vi hvordan du bygger en RAG-arbeidsflyt ved å bruke kunnskapsbaser for Amazon Bedrock for en brukssak for medikamentoppdagelse.

Oversikt over kunnskapsbaser for Amazons grunnfjell

Kunnskapsbaser for Amazon Bedrock støtter et bredt spekter av vanlige filtyper, inkludert .txt, .docx, .pdf, .csv og mer. For å muliggjøre effektiv henting fra private data, er en vanlig praksis først å dele disse dokumentene i håndterbare biter. Knowledge Bases har implementert en standard chunking-strategi som fungerer bra i de fleste tilfeller for å la deg komme i gang raskere. Hvis du vil ha mer kontroll, lar Knowledge Bases deg kontrollere chunking-strategien gjennom et sett med forhåndskonfigurerte alternativer. Du kan kontrollere den maksimale tokenstørrelsen og mengden overlapping som skal opprettes på tvers av biter for å gi sammenhengende kontekst til innebyggingen. Kunnskapsbaser for Amazon Bedrock styrer prosessen med å synkronisere data fra din Amazon enkel lagringstjeneste (Amazon S3) bøtte, deler den opp i mindre biter, genererer vektorinnbygginger og lagrer innbyggingene i en vektorindeks. Denne prosessen kommer med intelligent diffing, gjennomstrømning og feilhåndtering.

Ved kjøring brukes en innebyggingsmodell for å konvertere brukerens spørring til en vektor. Vektorindeksen spørres deretter for å finne dokumenter som ligner brukerens spørring ved å sammenligne dokumentvektorer med brukerspørringsvektoren. I det siste trinnet legges semantisk lignende dokumenter hentet fra vektorindeksen til som kontekst for den opprinnelige brukerspørringen. Når du genererer et svar for brukeren, blir de semantisk lignende dokumentene spurt i tekstmodellen, sammen med kildeattribusjon for sporbarhet.

Kunnskapsbaser for Amazon Bedrock støtter flere vektordatabaser, inkludert Amazon OpenSearch Serverless, Amazonas Aurora, Pinecone og Redis Enterprise Cloud. Retrieve og RetrieveAndGenerate APIene lar applikasjonene dine søke direkte etter indeksen ved hjelp av en enhetlig og standard syntaks uten å måtte lære separate APIer for hver forskjellige vektordatabase, noe som reduserer behovet for å skrive tilpassede indeksspørringer mot vektorlageret ditt. Retrieve API tar den innkommende spørringen, konverterer den til en innebyggingsvektor og spør etter backend-lageret ved å bruke algoritmene som er konfigurert på vektordatabasenivået; RetrieveAndGenerate API bruker en brukerkonfigurert LLM levert av Amazon Bedrock og genererer det endelige svaret på naturlig språk. Den opprinnelige sporbarhetsstøtten informerer søknaden om kildene som brukes til å svare på et spørsmål. For bedriftsimplementeringer støtter Knowledge Bases AWS nøkkelstyringstjeneste (AWS KMS) kryptering, AWS CloudTrail integrering og mer.

I de følgende delene demonstrerer vi hvordan du bygger en RAG-arbeidsflyt ved å bruke kunnskapsbaser for Amazon Bedrock, støttet av OpenSearch Serverless vektormotor, for å analysere et ustrukturert klinisk utprøvingsdatasett for et brukstilfelle for medikamentoppdagelse. Disse dataene er informasjonsrike, men kan være svært heterogene. Riktig håndtering av spesialisert terminologi og konsepter i ulike formater er avgjørende for å oppdage innsikt og sikre analytisk integritet. Med Knowledge Bases for Amazon Bedrock kan du få tilgang til detaljert informasjon gjennom enkle, naturlige søk.

Bygg en kunnskapsbase for Amazon Bedrock

I denne delen demonstrerer vi prosessen med å lage en kunnskapsbase for Amazon Bedrock via konsollen. Fullfør følgende trinn:

  1. På Amazon Bedrock-konsollen, under orkestre Velg navigasjonsruten Kunnskapsbase.
  2. Velg Lag kunnskapsbase.

  1. Kunnskapsbasedetaljer seksjon, skriv inn et navn og valgfri beskrivelse.
  2. IAM-tillatelser seksjon, velg Opprett og bruk en ny tjenesterolle.
  3. Til Tjenestenavnrolle, skriv inn et navn for rollen din, som må begynne med AmazonBedrockExecutionRoleForKnowledgeBase_.
  4. Velg neste.

  1. Datakilde seksjonen, skriv inn et navn for datakilden og S3-URI-en der datasettet sitter. Knowledge Bases støtter følgende filformater:
    • Ren tekst (.txt)
    • Markdown (.md)
    • HyperText Markup Language (.html)
    • Microsoft Word-dokument (.doc/.docx)
    • Kommaseparerte verdier (.csv)
    • Microsoft Excel-regneark (.xls/.xlsx)
    • Portable Document Format (.pdf)
  1. Under Tilleggsinnstillinger¸ velg din foretrukne chunking-strategi (for dette innlegget velger vi Fast størrelse chunking) og spesifiser delstørrelsen og overlegget i prosent. Alternativt kan du bruke standardinnstillingene.
  2. Velg neste.

  1. Innstøpingsmodell seksjon, velg Titan Embeddings-modellen fra Amazon Bedrock.
  2. Vektordatabase seksjon, velg Lag raskt en ny vektorbutikk, som styrer prosessen med å sette opp en vektorbutikk.
  3. Velg neste.

  1. Gjennomgå innstillingene og velg Lag kunnskapsbase.

  1. Vent til opprettelsen av kunnskapsbasen er fullført og bekrefter at statusen er Klar.
  2. Datakilde seksjonen, eller på banneret øverst på siden eller popup-vinduet i testvinduet, velg Synkroniser for å utløse prosessen med å laste data fra S3-bøtten, dele dem opp i biter av størrelsen du spesifiserte, generere vektorinnbygginger ved å bruke den valgte tekstinnbyggingsmodellen, og lagre dem i vektorlageret administrert av Knowledge Bases for Amazon Bedrock.

Synkroniseringsfunksjonen støtter inntak, oppdatering og sletting av dokumentene fra vektorindeksen basert på endringer i dokumenter i Amazon S3. Du kan også bruke StartIngestionJob API for å utløse synkroniseringen via AWS SDK.

Når synkroniseringen er fullført, viser synkroniseringsloggen status Fullført.

Spørr kunnskapsbasen

I denne delen viser vi hvordan du får tilgang til detaljert informasjon i kunnskapsbasen gjennom enkle og naturlige spørsmål. Vi bruker et ustrukturert syntetisk datasett som består av PDF-filer, sidetallet for hver av dem varierer fra 10–100 sider, og simulerer en plan for klinisk utprøving av en foreslått ny medisin, inkludert statistiske analysemetoder og samtykkeskjemaer for deltakere. Vi bruker kunnskapsbasene for Amazons grunnfjell retrieve_and_generate og retrieve APIer med Amazon Bedrock LangChain-integrasjon.

Før du kan skrive skript som bruker Amazon Bedrock API, må du installere riktig versjon av AWS SDK i miljøet ditt. For Python-skript vil dette være AWS SDK for Python (Boto3):

pip install langchain
pip install boto3

Aktiver i tillegg tilgang til Amazon Titan Embeddings-modellen og Anthropic Claude v2 eller v1. For mer informasjon, se Modelltilgang.

Generer spørsmål ved hjelp av Amazon Bedrock

Vi kan bruke Anthropic Claude 2.1 for Amazon Bedrock for å foreslå en liste over spørsmål å stille på datasettet for kliniske forsøk:

import boto3
from langchain.llms.bedrock import Bedrock

bedrock_client = boto3.client("bedrock-runtime")

# Start with the query
prompt = "For medical research trial consent forms to sign, what are the top 5 questions can be asked?"

claude_llm = Bedrock(
    model_id="anthropic.claude-v2:1",
    model_kwargs={"temperature": 0, "top_k": 10, "max_tokens_to_sample": 3000},
    client=bedrock_client,
)

# Provide the prompt to the LLM to generate an answer to the query without any additional context provided
response = claude_llm(prompt)
questions = [
    item.split(".")[1].strip() for item in response.strip().split("nn")[1:-1]
]
questions
>>> answer:
'What is the purpose of the study? Make sure you understand the goals of the research and what the study procedures will entail',
'What are the risks and potential benefits? The form should explain all foreseeable risks, side effects, or discomforts you might experience from participating',
'What will participation involve? Get details on what tests, medications, lifestyle changes, or procedures you will go through, how much time it will take, and how long the study will last',
'Are there any costs or payments? Ask if you will be responsible for any costs related to the study or get paid for participating',
'How will my privacy be protected? The form should explain how your personal health information will be kept confidential before, during, and after the trial'

Bruk Amazon Bedrock RetrieveAndGenerate API

For en fullstendig administrert RAG-opplevelse kan du bruke de opprinnelige kunnskapsbasene for Amazon Bedrock RetrieveAndGenerate API for å få svarene direkte:

bedrock_agent_client = boto3.client("bedrock-agent-runtime")

kb_id = "<YOUR_KNOWLEDGE_BASE_ID>"

def retrieveAndGenerate(
    input: str,
    kbId: str,
    region: str = "us-east-1",
    sessionId: str = None,
    model_id: str = "anthropic.claude-v2:1",
):
    model_arn = f"arn:aws:bedrock:{region}::foundation-model/{model_id}"

    if sessionId:
        return bedrock_agent_client.retrieve_and_generate(
            input={"text": input},
            retrieveAndGenerateConfiguration={
                "type": "KNOWLEDGE_BASE",
                "knowledgeBaseConfiguration": {
                    "knowledgeBaseId": kbId,
                    "modelArn": model_arn,
                },
            },
            sessionId=sessionId,
        )

    else:
        return bedrock_agent_client.retrieve_and_generate(
            input={"text": input},
            retrieveAndGenerateConfiguration={
                "type": "KNOWLEDGE_BASE",
                "knowledgeBaseConfiguration": {
                    "knowledgeBaseId": kbId,
                    "modelArn": model_arn,
                },
            },
        )

response = retrieveAndGenerate(
    "What are the potential risks and benefits of participating?", kb_id
)

generated_text = response["output"]["text"]
>>> "The potential risks include side effects from the study medication lithium such as nausea, loose stools, thirst, urination changes, shakiness, headaches, sweating, fatigue, decreased concentration, and skin rash. There is also a risk of lithium interaction with other medications. For women, there is a risk of birth defects if lithium is taken during pregnancy. There are no guaranteed benefits, but possible benefits include new information that could help the participant from the interviews and tests conducted during the study."

Den siterte informasjonskilden kan fås via følgende kode (med noe av utdataene redigert for korthets skyld):

response["citations"]

>>> [
    {
        "generatedResponsePart": {
            "textResponsePart": {
                "text": " The potential risks include side effects from the study...",
                "span": {"start": 0, "end": 361},
            }
        },
        "retrievedReferences": [
            {
                "content": {
                    "text": "590 ICF#2 Page 7 of 19 The primary risks and discomforts of participation…"
                },
                "location": {"type": "S3", "s3Location": {"uri": "s3://XXXX/XXXX.pdf"}},
            },
            {
                "content": {
                    "text": "N/A CSP 590 ICF#2 Page 10 of 19 Risks associated with suddenly stopping study medications..."
                },
                "location": {"type": "S3", "s3Location": {"uri": "s3://XXXX/XXXX.pdf"}},
            },
        ],
    },
    {
        "generatedResponsePart": {
            "textResponsePart": {
                "text": " There are no guaranteed benefits, but possible benefits include...",
                "span": {"start": 363, "end": 531},
            }
        },
        "retrievedReferences": [
            {
                "content": {
                    "text": "research, not usual clinical care. After these are done we ask..."
                },
                "location": {"type": "S3", "s3Location": {"uri": "s3://XXXX/XXXX.pdf"}},
            }
        ],
    },
]

Ved å sende økt-ID-en til RetrieveAndGenerate API kan du bevare samtalekonteksten og stille oppfølgingsspørsmål. For eksempel, uten konteksten, hvis du ber om flere detaljer fra det forrige svaret, kan det hende at det ikke kan svare riktig:

retrieveAndGenerate("elaborate more on the first side effect", kb_id, sessionId=None)["output"]["text"]
>>> "The search results do not provide additional details about the mild nausea side effect that would allow me to elaborate further on it."

Men ved å sende økt-ID-en, er RAG-rørledningen i stand til å identifisere den tilsvarende konteksten og returnere relevante svar:

retrieveAndGenerate("elaborate more on the first side effect", kb_id, sessionId=response["sessionId"])["output"]["text"]
>>> "The search results provide details that nausea from taking lithium is usually mild and goes away after days or weeks for most people. Specifically, up to 75% of people may experience mild nausea when first starting lithium, but this goes away in 90-99% of people who continue taking it."

Tabellen nedenfor viser de innhentede svarene på alle de tilsvarende spørsmålene.

Spørsmål Svar
Hva er hensikten med studiet? Sørg for at du forstår målene for forskningen og hva studieprosedyrene vil innebære. Formålet med studien er å teste om litium er effektivt for å forhindre gjentatt selvmordsvold hos pasienter med depresjon eller bipolar lidelse.
Hva er risikoen og potensielle fordeler? Skjemaet skal forklare alle forutsigbare risikoer, bivirkninger eller ubehag du kan oppleve ved å delta. De mulige risikoene eller ubehagene inkluderer: intervjuspørsmålene som forårsaker ubehag, bivirkninger fra litiummedisinen som kvalme, løs avføring, tørste, vannlatingsforandringer, skjelving, hodepine, svette, tretthet, nedsatt konsentrasjon, hudutslett, skjoldbruskkjertelforandringer, forverret akne /psoriasis, litiumtoksisitet og risiko hvis medisinen plutselig stoppes. De potensielle fordelene er at testene kan føre til ny informasjon for å hjelpe deltakeren, og litium kan bidra til å forhindre gjentatt selvmordsvold for de med depresjon eller bipolar lidelse.
Hva vil deltakelse innebære? Få detaljer om hvilke tester, medisiner, livsstilsendringer eller prosedyrer du skal gjennom, hvor mye tid det vil ta og hvor lenge studien vil vare. Deltakelse vil innebære å fullføre et intervju og spørreskjemaer som dekker tenkning, atferd, psykisk helsebehandling, medisiner, alkohol- og narkotikabruk, hjemme og sosial støtte, og forståelse av forskningsstudien. Dette tar omtrent to timer og kan gjøres i flere økter, personlig og via telefon. Dersom det er kvalifisert for hele studiet, vil det være ca 20 studiebesøk over ett år. Dette vil innebære å ta studiemedisiner, få sjekket vitale funksjoner, fylle ut spørreskjemaer, gjennomgå bivirkninger og fortsette normal medisinsk og psykisk helsehjelp.
Er det noen kostnader eller betalinger? Spør om du vil være ansvarlig for eventuelle kostnader knyttet til studien eller få betalt for å delta. Ja, det er kostnader og betalinger omtalt i søkeresultatene. Du vil ikke bli belastet for noen behandlinger eller prosedyrer som er en del av studien. Du vil imidlertid fortsatt måtte betale vanlig VA egenbetaling for pleie og medisiner som ikke er relatert til studien. Du vil ikke få betalt for deltakelse, men studien vil dekke utgifter knyttet til deltakelse som transport, parkering osv. Refusjonsbeløp og prosess er gitt.
Hvordan vil personvernet mitt bli beskyttet? Skjemaet skal forklare hvordan din personlige helseinformasjon vil bli holdt konfidensiell før, under og etter rettssaken. Personvernet ditt vil bli beskyttet ved å gjennomføre intervjuer privat, holde skriftlige notater i låste filer og kontorer, lagre elektronisk informasjon i krypterte og passordbeskyttede filer, og innhente et konfidensialitetssertifikat fra Department of Health and Human Services for å forhindre avsløring av informasjon som identifiserer deg . Informasjon som identifiserer deg kan bli delt med leger som er ansvarlige for din omsorg eller for revisjoner og evalueringer av offentlige etater, men samtaler og papirer om studien vil ikke identifisere deg.

Spør ved hjelp av Amazon Bedrock Retrieve API

For å tilpasse RAG-arbeidsflyten din, kan du bruke Retrieve API for å hente de relevante delene basert på søket ditt og sende det til en hvilken som helst LLM levert av Amazon Bedrock. For å bruke Retrieve API, definer den som følger:

def retrieve(query: str, kbId: str, numberOfResults: int = 5):
    return bedrock_agent_client.retrieve(
        retrievalQuery={"text": query},
        knowledgeBaseId=kbId,
        retrievalConfiguration={
            "vectorSearchConfiguration": {"numberOfResults": numberOfResults}
        },
    )

Hent den tilsvarende konteksten (med noe av utdataene redigert for korthets skyld):

query = "What is the purpose of the medical research study?"
response = retrieve(query, kb_id, 3)
retrievalResults = response["retrievalResults"]
>>> [
    {
        "content": {"text": "You will not be charged for any procedures that..."},
        "location": {"type": "S3", "s3Location": {"uri": "s3://XXXXX/XXXX.pdf"}},
        "score": 0.6552521,
    },
    {
        "content": {"text": "and possible benefits of the study. You have been..."},
        "location": {"type": "S3", "s3Location": {"uri": "s3://XXXX/XXXX.pdf"}},
        "score": 0.6581577,
    },
    ...,
]

Trekk ut konteksten for ledetekstmalen:

def get_contexts(retrievalResults):
    contexts = []
    for retrievedResult in retrievalResults:
        contexts.append(retrievedResult["content"]["text"])
    return " ".join(contexts)

contexts = get_contexts(retrievalResults)

Importer Python-modulene og sett opp malen for svarspørsmål i konteksten, og generer deretter det endelige svaret:

from langchain.prompts import PromptTemplate

PROMPT_TEMPLATE = """
Human: You are an AI system working on medical trial research, and provides answers to questions 
by using fact based and statistical information when possible.
Use the following pieces of information to provide a concise answer to the question enclosed in <question> tags.
If you don't know the answer, just say that you don't know, don't try to make up an answer.

<context>
{context_str}
</context>

<question>
{query_str}
</question>

The response should be specific and use statistics or numbers when possible.

Assistant:"""

claude_prompt = PromptTemplate(
    template=PROMPT_TEMPLATE, input_variables=["context_str", "query_str"]
)

prompt = claude_prompt.format(context_str=contexts, query_str=query)
response = claude_llm(prompt)
>>> "Based on the context provided, the purpose of this medical research study is to evaluate the efficacy of lithium compared to a placebo in preventing suicide over a 1 year period. Specifically, participants will be randomly assigned to receive either lithium or a placebo pill for 1 year, with their doctors and the participants themselves not knowing which treatment they receive (double-blind). Blood lithium levels will be monitored and doses adjusted over the first 6-8 visits, then participants will be followed monthly for 1 year to assess outcomes."

Spørring med Amazon Bedrock LangChain-integrasjon

For å lage en ende-til-ende tilpasset spørsmål og svar-applikasjon, tilbyr Knowledge Bases for Amazon Bedrock integrasjon med LangChain. For å sette opp LangChain retriever, oppgi kunnskapsbase-IDen og spesifiser antall resultater som skal returneres fra spørringen:

from langchain.retrievers.bedrock import AmazonKnowledgeBasesRetriever

retriever = AmazonKnowledgeBasesRetriever(
    knowledge_base_id=kb_id,
    retrieval_config={"vectorSearchConfiguration": {"numberOfResults": 4}},
)

Sett nå opp LangChain RetrievalQA og generer svar fra kunnskapsbasen:

from langchain.chains import RetrievalQA

qa = RetrievalQA.from_chain_type(
    llm=claude_llm,
    chain_type="stuff",
    retriever=retriever,
    return_source_documents=True,
    chain_type_kwargs={"prompt": claude_prompt},
)

[qa(q)["result"] for q in questions]

Dette vil generere tilsvarende svar som ligner på de som er oppført i den tidligere tabellen.

Rydd opp

Sørg for å slette følgende ressurser for å unngå ekstra kostnader:

konklusjonen

Amazon Bedrock tilbyr et bredt sett med dypt integrerte tjenester for å drive RAG-applikasjoner i alle skalaer, noe som gjør det enkelt å komme i gang med å analysere bedriftens data. Kunnskapsbaser for Amazon Bedrock integreres med Amazon Bedrock-fundamentmodeller for å bygge skalerbare dokumentinnbyggingsrørledninger og dokumentinnhentingstjenester for å drive et bredt spekter av interne og kundevendte applikasjoner. Vi er spente på fremtiden, og tilbakemeldingene dine vil spille en viktig rolle i å veilede fremdriften til dette produktet. For å lære mer om egenskapene til Amazon Bedrock og kunnskapsbaser, se Kunnskapsbase for Amazon Bedrock.


Om forfatterne

Mark Roy er en hovedmaskinlæringsarkitekt for AWS, og hjelper kunder med å designe og bygge AI/ML-løsninger. Marks arbeid dekker et bredt spekter av ML-brukstilfeller, med en primær interesse for datasyn, dyp læring og skalering av ML på tvers av bedriften. Han har hjulpet selskaper i mange bransjer, inkludert forsikring, finansielle tjenester, media og underholdning, helsevesen, verktøy og produksjon. Mark har seks AWS-sertifiseringer, inkludert ML Specialty Certification. Før han begynte i AWS, var Mark arkitekt, utvikler og teknologileder i over 25 år, inkludert 19 år innen finansielle tjenester.

Mani Khanuja er en Tech Lead – Generative AI Specialists, forfatter av boken – Applied Machine Learning and High Performance Computing på AWS, og medlem av styret for Women in Manufacturing Education Foundation Board. Hun leder maskinlæringsprosjekter (ML) innen ulike domener som datasyn, naturlig språkbehandling og generativ AI. Hun hjelper kunder med å bygge, trene og distribuere store maskinlæringsmodeller i stor skala. Hun snakker på interne og eksterne konferanser som re:Invent, Women in Manufacturing West, YouTube webinarer og GHC 23. På fritiden liker hun å gå lange løpeturer langs stranden.

Dr. Baichuan Sun, som for tiden tjener som Sr. AI/ML Solution Architect hos AWS, fokuserer på generativ AI og bruker sin kunnskap innen datavitenskap og maskinlæring for å tilby praktiske, skybaserte forretningsløsninger. Med erfaring innen ledelsesrådgivning og AI-løsningsarkitektur, adresserer han en rekke komplekse utfordringer, inkludert robotikk datasyn, tidsserieprognoser og prediktivt vedlikehold, blant andre. Arbeidet hans er forankret i en solid bakgrunn innen prosjektledelse, programvare FoU og akademiske sysler. Utenom jobben liker Dr. Sun balansen mellom å reise og tilbringe tid med familie og venner.

Derrick Choo er en senior løsningsarkitekt hos AWS med fokus på å akselerere kundens reise til skyen og transformere virksomheten deres gjennom bruk av skybaserte løsninger. Hans ekspertise er innen utvikling av fullstack-applikasjoner og maskinlæring. Han hjelper kunder med å designe og bygge ende-til-ende-løsninger som dekker frontend-brukergrensesnitt, IoT-applikasjoner, API- og dataintegrasjoner og maskinlæringsmodeller. På fritiden liker han å tilbringe tid med familien og eksperimentere med fotografering og video.

Frank Winkler er en senior løsningsarkitekt og generativ AI-spesialist ved AWS med base i Singapore, med fokus på maskinlæring og generativ AI. Han jobber med globale digitalt innfødte selskaper for å bygge skalerbare, sikre og kostnadseffektive produkter og tjenester på AWS. På fritiden tilbringer han tid med sønnen og datteren, og reiser for å nyte bølgene over ASEAN.

Nihir Chadderwala er Sr. AI/ML Solutions Architect i Global Healthcare and Life Sciences-teamet. Hans ekspertise er i å bygge Big Data og AI-drevne løsninger på kundeproblemer, spesielt innen biomedisin, biovitenskap og helsevesen. Han er også begeistret for skjæringspunktet mellom kvanteinformasjonsvitenskap og AI og liker å lære og bidra til dette rommet. På fritiden liker han å spille tennis, reise og lære om kosmologi.

spot_img

Siste etterretning

spot_img