Logotipo de Zephyrnet

Utilice RAG para el descubrimiento de fármacos con bases de conocimiento para Amazon Bedrock | Servicios web de Amazon

Fecha:

lecho rocoso del amazonas proporciona una amplia gama de modelos de Amazon y proveedores externos, incluidos Anthropic, AI21, Meta, Cohere y Stability AI, y cubre una amplia gama de casos de uso, incluida la generación de texto e imágenes, incrustación, chat y agentes de alto nivel. con razonamiento y orquestación, y más. Bases de conocimiento para Amazon Bedrock le permite crear aplicaciones de generación aumentada (RAG) de recuperación personalizadas y de alto rendimiento sobre AWS y almacenes de vectores de terceros utilizando modelos de AWS y de terceros. Knowledge Bases para Amazon Bedrock automatiza la sincronización de sus datos con su almacén de vectores, incluida la diferenciación de los datos cuando se actualizan, la carga y fragmentación de documentos, así como la incrustación semántica. Le permite personalizar sin problemas sus indicaciones de RAG y sus estrategias de recuperación: proporcionamos la atribución de la fuente y manejamos la administración de la memoria automáticamente. Knowledge Bases no tiene ningún servidor, por lo que no necesita administrar ninguna infraestructura y, cuando utiliza Knowledge Bases, solo se le cobra por los modelos, las bases de datos vectoriales y el almacenamiento que utiliza.

RAG es una técnica popular que combina el uso de datos privados con grandes modelos de lenguaje (LLM). RAG comienza con un paso inicial para recuperar documentos relevantes de un almacén de datos (más comúnmente un índice vectorial) según la consulta del usuario. Luego emplea un modelo de lenguaje para generar una respuesta considerando tanto los documentos recuperados como la consulta original.

En esta publicación, demostramos cómo crear un flujo de trabajo RAG utilizando Knowledge Bases para Amazon Bedrock para un caso de uso de descubrimiento de fármacos.

Descripción general de las bases de conocimiento de Amazon Bedrock

Knowledge Bases para Amazon Bedrock admite una amplia gama de tipos de archivos comunes, incluidos .txt, .docx, .pdf, .csv y más. Para permitir una recuperación efectiva de datos privados, una práctica común es dividir primero estos documentos en partes manejables. Knowledge Bases ha implementado una estrategia de fragmentación predeterminada que funciona bien en la mayoría de los casos para permitirle comenzar más rápido. Si desea tener más control, las Bases de conocimiento le permiten controlar la estrategia de fragmentación a través de un conjunto de opciones preconfiguradas. Puede controlar el tamaño máximo del token y la cantidad de superposición que se creará entre los fragmentos para proporcionar un contexto coherente a la incrustación. Knowledge Bases para Amazon Bedrock administra el proceso de sincronización de datos de su Servicio de almacenamiento simple de Amazon (Amazon S3), lo divide en fragmentos más pequeños, genera incrustaciones de vectores y almacena las incrustaciones en un índice de vectores. Este proceso viene con diferenciación inteligente, rendimiento y gestión de fallas.

En tiempo de ejecución, se utiliza un modelo de incrustación para convertir la consulta del usuario en un vector. Luego se consulta el índice de vectores para encontrar documentos similares a la consulta del usuario comparando los vectores de documentos con el vector de consulta del usuario. En el paso final, se agregan documentos semánticamente similares recuperados del índice vectorial como contexto para la consulta del usuario original. Al generar una respuesta para el usuario, se solicitan documentos semánticamente similares en el modelo de texto, junto con la atribución de la fuente para la trazabilidad.

Knowledge Bases para Amazon Bedrock admite múltiples bases de datos vectoriales, incluidas Amazon OpenSearch sin servidor, Aurora amazónica, Pinecone y Redis Enterprise Cloud. Las API Retrieve y RetrieveAndGenerate permiten que sus aplicaciones consulten directamente el índice usando una sintaxis unificada y estándar sin tener que aprender API separadas para cada base de datos vectorial diferente, lo que reduce la necesidad de escribir consultas de índice personalizadas en su almacén de vectores. La API de recuperación toma la consulta entrante, la convierte en un vector de incrustación y consulta el almacén backend utilizando los algoritmos configurados en el nivel de la base de datos vectorial; La API RetrieveAndGenerate utiliza un LLM configurado por el usuario proporcionado por Amazon Bedrock y genera la respuesta final en lenguaje natural. El soporte de trazabilidad nativo informa a la aplicación solicitante sobre las fuentes utilizadas para responder una pregunta. Para implementaciones empresariales, las bases de conocimientos admiten Servicio de administración de claves de AWS (AWS KMS) cifrado, Seguimiento de la nube de AWS integración, y más.

En las siguientes secciones, demostramos cómo crear un flujo de trabajo RAG utilizando bases de conocimiento para Amazon Bedrock, respaldadas por el motor vectorial OpenSearch Serverless, para analizar un conjunto de datos de ensayos clínicos no estructurados para un caso de uso de descubrimiento de fármacos. Estos datos son ricos en información pero pueden ser muy heterogéneos. El manejo adecuado de terminología y conceptos especializados en diferentes formatos es esencial para detectar conocimientos y garantizar la integridad analítica. Con las bases de conocimiento de Amazon Bedrock, puede acceder a información detallada mediante consultas simples y naturales.

Construya una base de conocimientos para Amazon Bedrock

En esta sección, demostramos el proceso de creación de una base de conocimientos para Amazon Bedrock a través de la consola. Complete los siguientes pasos:

  1. En la consola de Amazon Bedrock, en Orquestación en el panel de navegación, elija Base de conocimiento.
  2. Elige Crear base de conocimientos.

  1. En Detalles de la base de conocimientos , ingrese un nombre y una descripción opcional.
  2. En permisos de gestión de identidades y accesos sección, seleccionar Crear y utilizar un nuevo rol de servicio.
  3. Función de nombre de servicio, ingrese un nombre para su función, que debe comenzar con AmazonBedrockExecutionRoleForKnowledgeBase_.
  4. Elige Siguiente.

  1. En Fuente de datos , ingrese un nombre para su fuente de datos y el URI de S3 donde se encuentra el conjunto de datos. Bases de conocimientos admite los siguientes formatos de archivo:
    • Texto sin formato (.txt)
    • Rebaja (.md)
    • Lenguaje de marcado de hipertexto (.html)
    • Documento de Microsoft Word (.doc/.docx)
    • Valores separados por comas (.csv)
    • Hoja de cálculo de Microsoft Excel (.xls/.xlsx)
    • Formato de documento portátil (.pdf)
  1. under Ajustes adicionales¸ elija su estrategia de fragmentación preferida (para esta publicación, elegimos Fragmentos de tamaño fijo) y especifique el tamaño del fragmento y la superposición en porcentaje. Alternativamente, puede utilizar la configuración predeterminada.
  2. Elige Siguiente.

  1. En Modelo de incrustaciones sección, elija el modelo Titan Embeddings de Amazon Bedrock.
  2. En Base de datos vectorial sección, seleccionar Crea rápidamente una nueva tienda de vectores, que gestiona el proceso de creación de una tienda de vectores.
  3. Elige Siguiente.

  1. Revise la configuración y elija Crear base de conocimientos.

  1. Espere a que se complete la creación de la base de conocimientos y confirme que su estado es Listo!.
  2. En Fuente de datos sección, o en el banner en la parte superior de la página o en la ventana emergente en la ventana de prueba, elija Sincronizar para desencadenar el proceso de carga de datos desde el depósito de S3, dividiéndolos en fragmentos del tamaño que especificó, generando incrustaciones de vectores utilizando el modelo de incrustación de texto seleccionado y almacenándolos en el almacén de vectores administrado por Knowledge Bases para Amazon Bedrock.

La función de sincronización admite la ingesta, actualización y eliminación de documentos del índice vectorial en función de los cambios realizados en los documentos en Amazon S3. También puedes utilizar el StartIngestionJob API para activar la sincronización a través del SDK de AWS.

Cuando se completa la sincronización, el historial de sincronización muestra el estado Terminado.

Consultar la base de conocimientos

En esta sección, demostramos cómo acceder a información detallada en la base de conocimientos a través de consultas sencillas y naturales. Utilizamos un conjunto de datos sintéticos no estructurados que consta de archivos PDF, cuyo número de página oscila entre 10 y 100 páginas, simulando un plan de ensayo clínico de un nuevo medicamento propuesto que incluye métodos de análisis estadístico y formularios de consentimiento de los participantes. Utilizamos las Bases de Conocimiento de Amazon Bedrock retrieve_and_generate y retrieve API con Integración de Amazon Bedrock LangChain.

Antes de poder escribir scripts que utilicen la API de Amazon Bedrock, deberá instalar la versión adecuada del SDK de AWS en su entorno. Para scripts de Python, este será el AWS SDK para Python (Boto3):

pip install langchain
pip install boto3

Además, habilite el acceso al modelo de Amazon Titan Embeddings y a Anthropic Claude v2 o v1. Para obtener más información, consulte Modelo de acceso.

Genere preguntas con Amazon Bedrock

Podemos utilizar Anthropic Claude 2.1 para Amazon Bedrock para proponer una lista de preguntas sobre el conjunto de datos del ensayo clínico:

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'

Utilice la API RetrieveAndGenerate de Amazon Bedrock

Para una experiencia RAG totalmente administrada, puede utilizar las bases de conocimientos nativas de Amazon Bedrock RetrieveAndGenerate API para obtener las respuestas directamente:

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."

La fuente de información citada se puede obtener a través del siguiente código (con parte del resultado redactado para mayor brevedad):

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"}},
            }
        ],
    },
]

Al pasar el ID de sesión del RetrieveAndGenerate API, puede preservar el contexto de la conversación y hacer preguntas de seguimiento. Por ejemplo, sin el contexto, si pides más detalles de la respuesta anterior, es posible que no pueda responder correctamente:

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."

Pero al pasar el ID de la sesión, la canalización RAG puede identificar el contexto correspondiente y devolver respuestas relevantes:

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."

La siguiente tabla muestra las respuestas recuperadas a todas las preguntas correspondientes.

Pregunta Respuesta
¿Cuál es el propósito del estudio? Asegúrese de comprender los objetivos de la investigación y lo que implicarán los procedimientos del estudio. El propósito del estudio es probar si el litio es eficaz para prevenir la violencia autodirigida suicida repetida en pacientes con depresión o trastorno bipolar.
¿Cuáles son los riesgos y beneficios potenciales? El formulario debe explicar todos los riesgos, efectos secundarios o molestias previsibles que pueda experimentar al participar. Los posibles riesgos o malestares incluyen: las preguntas de la entrevista que causan malestar, efectos secundarios del medicamento con litio, como náuseas, heces blandas, sed, cambios en la micción, temblores, dolores de cabeza, sudoración, fatiga, disminución de la concentración, erupción cutánea, cambios en la tiroides, empeoramiento del acné. /psoriasis, toxicidad por litio y riesgos si se suspende repentinamente el medicamento. Los beneficios potenciales son que las pruebas pueden generar nueva información para ayudar al participante, y el litio puede ayudar a prevenir la violencia autodirigida suicida repetida en personas con depresión o trastorno bipolar.
¿Qué implicará la participación? Obtenga detalles sobre qué pruebas, medicamentos, cambios en el estilo de vida o procedimientos se le realizarán, cuánto tiempo llevará y cuánto durará el estudio. La participación implicará completar una entrevista y cuestionarios que cubran el pensamiento, el comportamiento, el tratamiento de salud mental, los medicamentos, el consumo de alcohol y drogas, el apoyo social y doméstico y la comprensión del estudio de investigación. Esto dura aproximadamente dos horas y se puede realizar en varias sesiones, en persona y por teléfono. Si es elegible para el estudio completo, se realizarán aproximadamente 20 visitas de estudio durante un año. Esto implicará tomar la medicación del estudio, controlar los signos vitales, completar cuestionarios, revisar los efectos secundarios y continuar con la atención médica y de salud mental normal.
¿Hay algún costo o pago? Pregunte si será responsable de los costos relacionados con el estudio o si recibirá un pago por participar. Sí, hay costos y pagos discutidos en los resultados de búsqueda. No se le cobrará por ningún tratamiento o procedimiento que forme parte del estudio. Sin embargo, aún tendrá que pagar los copagos habituales de VA por la atención y los medicamentos no relacionados con el estudio. No se le pagará por participar, pero el estudio reembolsará los gastos relacionados con la participación, como transporte, estacionamiento, etc. Se proporcionan los montos y el proceso de reembolso.
Cómo será protegida mi privacidad? El formulario debe explicar cómo se mantendrá confidencial su información médica personal antes, durante y después del ensayo. Su privacidad estará protegida al realizar entrevistas en privado, mantener notas escritas en archivos y oficinas bajo llave, almacenar información electrónica en archivos cifrados y protegidos con contraseña y obtener un Certificado de Confidencialidad del Departamento de Salud y Servicios Humanos para evitar la divulgación de información que lo identifique. . La información que lo identifica puede ser compartida con los médicos responsables de su atención o para auditorías y evaluaciones realizadas por agencias gubernamentales, pero las charlas y documentos sobre el estudio no lo identificarán.

Consulta mediante la API de Amazon Bedrock Retrieve

Para personalizar su flujo de trabajo RAG, puede utilizar la API Retrieve para recuperar los fragmentos relevantes según su consulta y pasarlos a cualquier LLM proporcionado por Amazon Bedrock. Para utilizar la API de recuperación, defínala de la siguiente manera:

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

Recupere el contexto correspondiente (con parte del resultado redactado por razones de brevedad):

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,
    },
    ...,
]

Extraiga el contexto de la plantilla de mensaje:

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

contexts = get_contexts(retrievalResults)

Importe los módulos de Python y configure la plantilla de solicitud de respuesta a preguntas en contexto, luego genere la respuesta final:

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."

Consulta mediante la integración de Amazon Bedrock LangChain

Para crear una aplicación de preguntas y respuestas personalizada de un extremo a otro, Knowledge Bases for Amazon Bedrock proporciona integración con LangChain. Para configurar el recuperador LangChain, proporcione el ID de la base de conocimientos y especifique la cantidad de resultados que devolverá la consulta:

from langchain.retrievers.bedrock import AmazonKnowledgeBasesRetriever

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

Ahora configure LangChain RetrievalQA y genere respuestas desde la base de conocimientos:

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]

Esto generará respuestas correspondientes similares a las enumeradas en la tabla anterior.

Limpiar

Asegúrese de eliminar los siguientes recursos para evitar incurrir en cargos adicionales:

Conclusión

Amazon Bedrock proporciona un amplio conjunto de servicios profundamente integrados para impulsar aplicaciones RAG de todas las escalas, lo que facilita comenzar a analizar los datos de su empresa. Knowledge Bases para Amazon Bedrock se integra con los modelos básicos de Amazon Bedrock para crear canales de incorporación de documentos escalables y servicios de recuperación de documentos para impulsar una amplia gama de aplicaciones internas y orientadas al cliente. Estamos entusiasmados con el futuro que nos espera y sus comentarios desempeñarán un papel vital para guiar el progreso de este producto. Para obtener más información sobre las capacidades de Amazon Bedrock y las bases de conocimiento, consulte Base de conocimientos para Amazon Bedrock.


Acerca de los autores

marca roy es Arquitecto Principal de Aprendizaje Automático de AWS, que ayuda a los clientes a diseñar y crear soluciones de IA/ML. El trabajo de Mark cubre una amplia gama de casos de uso de ML, con un interés principal en la visión artificial, el aprendizaje profundo y la ampliación de ML en toda la empresa. Ha ayudado a empresas en muchas industrias, incluidas las de seguros, servicios financieros, medios y entretenimiento, atención médica, servicios públicos y manufactura. Mark posee seis certificaciones de AWS, incluida la certificación de especialidad de ML. Antes de unirse a AWS, Mark fue arquitecto, desarrollador y líder tecnológico durante más de 25 años, incluidos 19 años en servicios financieros.

Mani Januja es líder tecnológica – Especialistas en IA generativa, autora del libro – Aprendizaje automático aplicado y computación de alto rendimiento en AWS y miembro de la junta directiva de la Junta Directiva de la Fundación de Educación para Mujeres en la Manufactura. Lidera proyectos de aprendizaje automático (ML) en diversos ámbitos, como la visión por computadora, el procesamiento del lenguaje natural y la IA generativa. Ayuda a los clientes a crear, entrenar e implementar grandes modelos de aprendizaje automático a escala. Habla en conferencias internas y externas como re:Invent, Women in Manufacturing West, seminarios web de YouTube y GHC 23. En su tiempo libre, le gusta salir a correr largas distancias por la playa.

Dr. Baichuan Sol, que actualmente se desempeña como arquitecto senior de soluciones de IA/ML en AWS, se enfoca en IA generativa y aplica su conocimiento en ciencia de datos y aprendizaje automático para brindar soluciones comerciales prácticas basadas en la nube. Con experiencia en consultoría de gestión y arquitectura de soluciones de inteligencia artificial, aborda una variedad de desafíos complejos, incluida la visión robótica por computadora, el pronóstico de series temporales y el mantenimiento predictivo, entre otros. Su trabajo se basa en una sólida formación en gestión de proyectos, investigación y desarrollo de software y actividades académicas. Fuera del trabajo, el Dr. Sun disfruta del equilibrio entre viajar y pasar tiempo con familiares y amigos.

Derrick Choo es un arquitecto senior de soluciones en AWS enfocado en acelerar el viaje de los clientes a la nube y transformar su negocio mediante la adopción de soluciones basadas en la nube. Su experiencia está en el desarrollo de aplicaciones full stack y aprendizaje automático. Ayuda a los clientes a diseñar y crear soluciones de extremo a extremo que cubren interfaces de usuario frontend, aplicaciones de IoT, API e integraciones de datos y modelos de aprendizaje automático. En su tiempo libre le gusta pasar tiempo con su familia y experimentar con la fotografía y la videografía.

franco winkler es arquitecto senior de soluciones y especialista en IA generativa en AWS con sede en Singapur, centrado en aprendizaje automático e IA generativa. Trabaja con empresas nativas digitales globales para diseñar productos y servicios escalables, seguros y rentables en AWS. En su tiempo libre, pasa tiempo con su hijo y su hija y viaja para disfrutar de las olas por toda la ASEAN.

Nihir Chadderwala es arquitecto sénior de soluciones de IA/ML en el equipo global de atención médica y ciencias biológicas. Su experiencia se centra en la creación de soluciones basadas en Big Data e IA para los problemas de los clientes, especialmente en el ámbito biomédico, de las ciencias biológicas y de la atención sanitaria. También está entusiasmado con la intersección de la ciencia de la información cuántica y la inteligencia artificial y disfruta aprendiendo y contribuyendo a este espacio. En su tiempo libre le gusta jugar tenis, viajar y aprender sobre cosmología.

punto_img

Información más reciente

punto_img