A geração aumentada de recuperação (RAG) permite fornecer um modelo de linguagem grande (LLM) com acesso a dados de fontes de conhecimento externas, como repositórios, bancos de dados e APIs, sem a necessidade de ajuste fino. Ao usar IA generativa para responder perguntas, o RAG permite que os LLMs respondam às perguntas com as informações mais relevantes e atualizadas e, opcionalmente, citem suas fontes de dados para verificação.
Uma solução RAG típica para recuperação de conhecimento de documentos usa um modelo de embeddings para converter os dados das fontes de dados em embeddings e armazena esses embeddings em um banco de dados vetorial. Quando um usuário faz uma pergunta, ele pesquisa o banco de dados vetorial e recupera os documentos mais semelhantes à consulta do usuário. Em seguida, combina os documentos recuperados e a consulta do usuário em um prompt aumentado que é enviado ao LLM para geração de texto. Existem dois modelos nesta implementação: o modelo de embeddings e o LLM que gera a resposta final.
Neste post, mostramos como usar Estúdio Amazon SageMaker para construir uma solução de resposta a perguntas RAG.
Usando notebooks para responder perguntas baseadas em RAG
A implementação do RAG normalmente envolve experimentar vários modelos de incorporação, bancos de dados vetoriais, modelos de geração de texto e prompts, além de depurar seu código até obter um protótipo funcional. Amazon Sage Maker oferece notebooks Jupyter gerenciados equipados com instâncias de GPU, permitindo que você experimente rapidamente durante esta fase inicial sem precisar de infraestrutura adicional. Existem duas opções para usar notebooks no SageMaker. A primeira opção é o lançamento rápido laptops disponível através do SageMaker Studio. No SageMaker Studio, o ambiente de desenvolvimento integrado (IDE) criado especificamente para ML, você pode iniciar notebooks que são executados em diferentes tipos de instância e com diferentes configurações, colaborar com colegas e acessar recursos adicionais criados especificamente para aprendizado de máquina (ML). A segunda opção é usar um Instância de notebook SageMaker, que é uma instância de computação de ML totalmente gerenciada que executa o aplicativo Jupyter Notebook.
Nesta postagem, apresentamos uma solução RAG que aumenta o conhecimento do modelo com dados adicionais de fontes de conhecimento externas para fornecer respostas mais precisas específicas para um domínio personalizado. Usamos um único notebook SageMaker Studio rodando em um ml.g5.2xlarge
instância (1 GPU A10G) e Lhama 2 7b bate-papo hf, a versão aprimorada do Llama 2 7b, que é otimizada para casos de uso de diálogo do Hugging Face Hub. Usamos duas postagens do blog AWS Media & Entertainment como dados externos de amostra, que convertemos em embeddings com o BAAI/bge-small-pt-v1.5 incorporações. Armazenamos os embeddings em Pinecone, um banco de dados baseado em vetores que oferece pesquisa de alto desempenho e correspondência de similaridade. Também discutimos como fazer a transição da experimentação no notebook para a implantação de seus modelos em endpoints do SageMaker para inferência em tempo real quando você concluir sua prototipagem. A mesma abordagem pode ser usada com diferentes modelos e bancos de dados vetoriais.
Visão geral da solução
O diagrama a seguir ilustra a arquitetura da solução.
A implementação da solução consiste em duas etapas de alto nível: desenvolver a solução usando notebooks SageMaker Studio e implantar os modelos para inferência.
Desenvolva a solução usando notebooks SageMaker Studio
Conclua as etapas a seguir para começar a desenvolver a solução:
- Carregue o modelo de bate-papo Llama-2 7b do Hugging Face Hub no notebook.
- Crie um PromptTemplate com LangChain e use-o para criar prompts para seu caso de uso.
- Para 1 a 2 solicitações de exemplo, adicione texto estático relevante de documentos externos como contexto de solicitação e avalie se a qualidade das respostas melhora.
- Supondo que a qualidade melhore, implemente o fluxo de trabalho de resposta a perguntas RAG:
- Reúna os documentos externos que podem ajudar o modelo a responder melhor às perguntas do seu caso de uso.
- Carregue o modelo de embeddings BGE e utilize-o para gerar embeddings desses documentos.
- Armazene esses embeddings em um índice Pinecone.
- Quando um usuário fizer uma pergunta, faça uma busca por similaridade no Pinecone e adicione o conteúdo dos documentos mais semelhantes ao contexto do prompt.
Implante os modelos no SageMaker para inferência em escala
Ao atingir suas metas de desempenho, você pode implantar os modelos no SageMaker para serem usados por aplicativos generativos de IA:
- Implante o modelo de bate-papo Llama-2 7b em um endpoint em tempo real do SageMaker.
- Implante o BAAI/bge-small-pt-v1.5 modelo de embeddings para um endpoint em tempo real do SageMaker.
- Use os modelos implantados em sua pergunta para responder a aplicativos generativos de IA.
Nas seções a seguir, orientamos você nas etapas de implementação desta solução em notebooks SageMaker Studio.
Pré-requisitos
Para seguir as etapas desta postagem, você precisa ter uma conta AWS e um Gerenciamento de acesso e identidade da AWS (IAM) com permissões para criar e acessar os recursos da solução. Se você é novo na AWS, consulte Crie uma conta AWS independente.
Para usar notebooks SageMaker Studio em sua conta AWS, você precisa de um Domínio do SageMaker com um perfil de usuário que tenha permissões para iniciar o aplicativo SageMaker Studio. Se você é novo no SageMaker Studio, o Configuração rápida do Studio é a maneira mais rápida de começar. Com um único clique, o SageMaker provisiona o domínio SageMaker com predefinições padrão, incluindo configuração do perfil do usuário, função IAM, autenticação IAM e acesso público à Internet. O caderno deste post pressupõe uma ml.g5.2xlarge
tipo de instância. Para revisar ou aumentar sua cota, abra o console do AWS Service Quotas, escolha Serviços AWS no painel de navegação, escolha Amazon Sage Makere consulte o valor dos aplicativos Studio KernelGateway em execução em ml.g5.2xlarge
instâncias.
Após confirmar seu limite de cota, você precisa completar as dependências para usar o chat do Llama 2 7b.
O bate-papo do Llama 2 7b está disponível no Licença de lhama 2. Para acessar o Llama 2 no Hugging Face, você precisa primeiro concluir algumas etapas:
- Crie uma conta Hugging Face se ainda não tiver uma.
- Preencha o formulário “Solicitar acesso à próxima versão do Llama” no Meta site do Network Development Group.
- Solicite acesso a Lhama 2 7b bate-papo no rosto abraçado.
Depois de receber acesso, você poderá criar um novo token de acesso para acessar modelos. Para criar um token de acesso, navegue até o Configurações página no site Hugging Face.
Você precisa ter uma conta na Pinecone para usá-lo como banco de dados vetorial. Pinecone está disponível na AWS por meio do Mercado da AWS. O site da Pinecone também oferece a opção de criar um Conta gratis que vem com permissões para criar um único índice, o que é suficiente para os propósitos desta postagem. Para recuperar suas chaves Pinecone, abra o Consola de pinha e escolha chaves de API.
Configurar o notebook e o ambiente
Para seguir o código desta postagem, abra o SageMaker Studio e clone o seguinte Repositório GitHub. Em seguida, abra o bloco de notas studio-local-gen-ai/rag/RAG-with-Llama-2-on-Studio.ipynb e escolha a imagem otimizada para GPU PyTorch 2.0.0 Python 3.10, kernel Python 3 e ml.g5.2xlarge
como o tipo de instância. Se esta é a primeira vez que usa notebooks SageMaker Studio, consulte Crie ou abra um notebook do Amazon SageMaker Studio.
Para configurar o ambiente de desenvolvimento, você precisa instalar as bibliotecas Python necessárias, conforme demonstrado no código a seguir:
%%writefile requirements.txt
sagemaker>=2.175.0
transformers==4.33.0
accelerate==0.21.0
datasets==2.13.0
langchain==0.0.297
pypdf>=3.16.3
pinecone-client
sentence_transformers
safetensors>=0.3.3
!pip install -U -r requirements.txt
Carregue o modelo pré-treinado e o tokenizer
Depois de importar as bibliotecas necessárias, você pode carregar o arquivo Bate-papo Lhama-2 7b modelo junto com seus tokenizers correspondentes do Hugging Face. Esses artefatos de modelo carregados são armazenados no diretório local do SageMaker Studio. Isso permite que você os recarregue rapidamente na memória sempre que precisar retomar seu trabalho em um horário diferente.
import torch from transformers import ( AutoTokenizer, LlamaTokenizer, LlamaForCausalLM, GenerationConfig, AutoModelForCausalLM
)
import transformers tg_model_id = "meta-llama/Llama-2-7b-chat-hf" #the model id in Hugging Face
tg_model_path = f"./tg_model/{tg_model_id}" #the local directory where the model will be saved tg_model = AutoModelForCausalLM.from_pretrained(tg_model_id, token=hf_access_token,do_sample=True, use_safetensors=True, device_map="auto", torch_dtype=torch.float16
tg_tokenizer = AutoTokenizer.from_pretrained(tg_model_id, token=hf_access_token) tg_model.save_pretrained(save_directory=tg_model_path, from_pt=True)
tg_tokenizer.save_pretrained(save_directory=tg_model_path, from_pt=True)
Faça uma pergunta que exija informações atualizadas
Agora você pode começar a usar o modelo e fazer perguntas. Os modelos de bate-papo do Llama-2 esperam que o prompt siga o seguinte formato:
<s>[INST] <<SYS>>
system_prompt
<<SYS>>
{{ user_message }} [/INST]
Você pode usar o Modelo de prompt do LangChain para criar uma receita baseada no formato de prompt, para que você possa criar facilmente prompts daqui para frente:
from langchain import PromptTemplate template = """<s>[INST] <<SYS>>nYou are an assistant for question-answering tasks. You are helpful and friendly. Use the following pieces of retrieved context to answer the query. If you don't know the answer, you just say I don't know. Use three sentences maximum and keep the answer concise.
<<SYS>>n
{context}n
{question} [/INST] """
prompt_template = PromptTemplate( template=template, input_variables=['context','question'] )
Vamos fazer uma pergunta ao modelo que precisa de informações recentes de 2023. Você pode usar LangChain e especificamente o LLMChain tipo de cadeia e passe como parâmetros o LLM, o modelo de prompt que você criou anteriormente e a pergunta:
question = "When can I visit the AWS M&E Customer Experience Center in New York City?" tg_tokenizer.add_special_tokens( {"pad_token": "[PAD]"} )
tg_tokenizer.padding_side = "left" tg_pipe = transformers.pipeline(task='text-generation', model=tg_model, tokenizer=tg_tokenizer, num_return_sequences=1, eos_token_id=tg_tokenizer.eos_token_id, pad_token_id=tg_tokenizer.eos_token_id, max_new_tokens=400, temperature=0.7) from langchain.chains import LLMChain
from langchain.llms import HuggingFacePipeline llm=HuggingFacePipeline(pipeline=tg_pipe, model_kwargs={'temperature':0.7})
llm_chain = LLMChain(llm=llm, prompt=prompt_template)
no_context_response = llm_chain.predict(context="", question=question)
print(no_context_response)
Obtemos a seguinte resposta gerada:
Obrigado por entrar em contato! O AWS M&E Customer Experience Center na cidade de Nova York está atualmente fechado para visitas devido à pandemia de COVID-19. No entanto, você pode verificar o site oficial ou as contas de mídia social para obter atualizações sobre quando o centro será reaberto. Enquanto isso, você pode explorar os tours virtuais e os recursos disponíveis online.
Melhore a resposta adicionando contexto ao prompt
A resposta que geramos não é totalmente verdadeira. Vamos ver se podemos melhorá-lo fornecendo algum contexto. Você pode adicionar um trecho da postagem AWS anuncia novo M&E Customer Experience Center em Nova York, que inclui atualizações sobre o tema a partir de 2023:
context = """Media and entertainment (M&E) customers continue to face challenges in creating more content, more quickly, and distributing it to more endpoints than ever before in their quest to delight viewers globally. Amazon Web Services (AWS), along with AWS Partners, have showcased the rapid evolution of M&E solutions for years at industry events like the National Association of Broadcasters (NAB) Show and the International Broadcast Convention (IBC). Until now, AWS for M&E technology demonstrations were accessible in this way just a few weeks out of the year. Customers are more engaged than ever before; they want to have higher quality conversations regarding user experience and media tooling. These conversations are best supported by having an interconnected solution architecture for reference. Scheduling a visit of the M&E Customer Experience Center will be available starting November 13th, please send an email to AWS-MediaEnt-CXC@amazon.com."""
Use o LLMChain novamente e passe o texto anterior como contexto:
context_response = llm_chain.predict(context=context, question=question)
print(context_response)
A nova resposta responde à pergunta com informações atualizadas:
Você pode visitar o AWS M&E Customer Experience Center na cidade de Nova York a partir de 13 de novembro. Envie um e-mail para AWS-MediaEnt-CXC@amazon.com para agendar uma visita.
Confirmamos que ao adicionar o contexto certo, o desempenho do modelo é melhorado. Agora você pode concentrar seus esforços em encontrar e adicionar o contexto certo para a pergunta feita. Em outras palavras, implemente RAG.
Implemente respostas a perguntas RAG com embeddings BGE e Pinecone
Neste momento, você deve decidir sobre as fontes de informação para aprimorar o conhecimento do modelo. Essas fontes podem ser páginas da Web internas ou documentos da sua organização ou fontes de dados disponíveis publicamente. Para os fins desta postagem e por uma questão de simplicidade, escolhemos duas postagens do blog da AWS publicadas em 2023:
Essas postagens já estão disponíveis como documentos PDF no diretório do projeto de dados no SageMaker Studio para acesso rápido. Para dividir os documentos em partes gerenciáveis, você pode empregar o RecursiveCharacterTextSplitter método de LangChain:
from langchain.text_splitter import RecursiveCharacterTextSplitter
from langchain.document_loaders import PyPDFDirectoryLoader loader = PyPDFDirectoryLoader("./data/") documents = loader.load() text_splitter=RecursiveCharacterTextSplitter( chunk_size=1000, chunk_overlap=5
)
docs = text_splitter.split_documents(documents)
A seguir, use o modelo de embeddings BGE bge-pequeno-en criado pelo Academia de Inteligência Artificial de Pequim (BAAI) que está disponível no Hugging Face para gerar os embeddings desses pedaços. Baixe e salve o modelo no diretório local do Studio. Usamos fp32 para que ele possa rodar na CPU da instância.
em_model_name = "BAAI/bge-small-en"
em_model_path = f"./em-model" from transformers import AutoModel
# Load model from HuggingFace Hub
em_model = AutoModel.from_pretrained(em_model_name,torch_dtype=torch.float32)
em_tokenizer = AutoTokenizer.from_pretrained(em_model_name,device="cuda") # save model to disk
em_tokenizer.save_pretrained(save_directory=f"{em_model_path}/model",from_pt=True)
em_model.save_pretrained(save_directory=f"{em_model_path}/model",from_pt=True)
em_model.eval()
Use o código a seguir para criar uma função embedding_generator, que pega os pedaços do documento como entrada e gera os embeddings usando o modelo BGE:
# Tokenize sentences
def tokenize_text(_input, device): return em_tokenizer( [_input], padding=True, truncation=True, return_tensors='pt' ).to(device) # Run embedding task as a function with model and text sentences as input
def embedding_generator(_input, normalize=True): # Compute token embeddings with torch.no_grad(): embedded_output = em_model( **tokenize_text( _input, em_model.device ) ) sentence_embeddings = embedded_output[0][:, 0] # normalize embeddings if normalize: sentence_embeddings = torch.nn.functional.normalize( sentence_embeddings, p=2, dim=1 ) return sentence_embeddings[0, :].tolist() sample_sentence_embedding = embedding_generator(docs[0].page_content)
print(f"Embedding size of the document --->", len(sample_sentence_embedding))
Nesta postagem, demonstramos um fluxo de trabalho RAG usando Pinecone, um software gerenciado e nativo da nuvem. banco de dados de vetores que também oferece um API para pesquisa de similaridade. Você está livre para reescrever o código a seguir para usar seu banco de dados vetorial preferido.
Inicializamos um Cliente python pinha e crie um novo índice de pesquisa vetorial usando o comprimento de saída do modelo de incorporação. Usamos a classe Pinecone integrada do LangChain para ingerir os embeddings que criamos na etapa anterior. São necessários três parâmetros: os documentos a serem ingeridos, a função geradora de embeddings e o nome do índice Pinecone.
import pinecone
pinecone.init( api_key = os.environ["PINECONE_API_KEY"], environment = os.environ["PINECONE_ENV"]
)
#check if index already exists, if not we create it
index_name = "rag-index"
if index_name not in pinecone.list_indexes(): pinecone.create_index( name=index_name, dimension=len(sample_sentence_embedding), ## 384 for bge-small-en metric='cosine' ) #insert the embeddings
from langchain.vectorstores import Pinecone
vector_store = Pinecone.from_documents( docs, embedding_generator, index_name=index_name
)
Com o modelo de bate-papo Llama-2 7B carregado na memória e os embeddings integrados ao índice Pinecone, agora você pode combinar esses elementos para aprimorar as respostas do Llama 2 para nosso caso de uso de resposta a perguntas. Para conseguir isso, você pode empregar o LangChain RecuperaçãoQA, que aumenta o prompt inicial com os documentos mais semelhantes do armazenamento de vetores. Definindo return_source_documents=True
, você obtém visibilidade dos documentos exatos usados para gerar a resposta como parte da resposta, permitindo verificar a precisão da resposta.
from langchain.chains import RetrievalQA
import textwrap #helper method to improve the readability of the response
def print_response(llm_response): temp = [textwrap.fill(line, width=100) for line in llm_response['result'].split('n')] response = 'n'.join(temp) print(f"{llm_response['query']}n n{response}'n n Source Documents:") for source in llm_response["source_documents"]: print(source.metadata) llm_qa_chain = RetrievalQA.from_chain_type( llm=llm, #the Llama-2 7b chat model chain_type='stuff', retriever=vector_store.as_retriever(search_kwargs={"k": 2}), # perform similarity search in Pinecone return_source_documents=True, #show the documents that were used to answer the question chain_type_kwargs={"prompt": prompt_template}
)
print_response(llm_qa_chain(question))
Obtemos a seguinte resposta:
P: Quando posso visitar o AWS M&E Customer Experience Center na cidade de Nova York?
R: Fico feliz em ajudar! De acordo com o contexto, o AWS M&E Customer Experience Center na cidade de Nova York estará disponível para visitas a partir de 13 de novembro. Você pode enviar um e-mail para AWS-MediaEnt-CXC@amazon.com para agendar uma visita.'
Documentos de Origem:
{'page': 4.0, 'source': 'data/AWS anuncia novo M&E Customer Experience Center na cidade de Nova York _ AWS for M&E Blog.pdf'}
{'page': 2.0, 'source': 'data/AWS anuncia novo M&E Customer Experience Center na cidade de Nova York _ AWS for M&E Blog.pdf'}
Vamos tentar uma pergunta diferente:
question2=" How many awards have AWS Media Services won in 2023?"
print_response(llm_qa_chain(question2))
Obtemos a seguinte resposta:
P: Quantos prêmios os AWS Media Services ganharam em 2023?
R: De acordo com a postagem do blog, os AWS Media Services ganharam cinco prêmios do setor em 2023.'
Documentos de Origem:
{'page': 0.0, 'source': 'data/AWS Media Services recebeu elogios do setor _ AWS for M&E Blog.pdf'}
{'page': 1.0, 'source': 'data/AWS Media Services recebeu elogios do setor _ AWS for M&E Blog.pdf'}
Depois de estabelecer um nível de confiança suficiente, você poderá implantar os modelos para Endpoints SageMaker para inferência em tempo real. Esses endpoints são totalmente gerenciados e oferecem suporte para escalonamento automático.
O SageMaker oferece inferência de modelos grandes usando contêineres de inferência de modelos grandes (LMIs), que podemos utilizar para implantar nossos modelos. Esses contêineres vêm equipados com bibliotecas de código aberto pré-instaladas, como DeepSpeed, facilitando a implementação de técnicas de melhoria de desempenho, como paralelismo de tensores durante a inferência. Além disso, eles usam DJLServing como um servidor de modelo integrado pré-construído. DJLServindo é uma solução universal de serviço de modelo de alto desempenho que oferece suporte para lotes dinâmicos e escalonamento automático de trabalhadores, aumentando assim o rendimento.
Em nossa abordagem, usamos o SageMaker LMI com DJLServing e DeepSpeed Inference para implantar os modelos Llama-2-chat 7b e BGE em endpoints SageMaker em execução em ml.g5.2xlarge
instâncias, permitindo inferência em tempo real. Se você quiser seguir essas etapas sozinho, consulte o anexo caderno para instruções detalhadas.
Você precisará de dois ml.g5.2xlarge
instâncias para implantação. Para revisar ou aumentar sua cota, abra o console do AWS Service Quotas, escolha Serviços AWS no painel de navegação, escolha Amazon Sage Makere consulte o valor para ml.g5.2xlarge
para uso de endpoint.
As etapas a seguir descrevem o processo de implantação de modelos personalizados para o fluxo de trabalho RAG em um endpoint SageMaker:
- Implante o Lhama-2 7b modelo de chat para um endpoint em tempo real do SageMaker em execução em um
ml.g5.2xlarge
exemplo para geração rápida de texto. - Implante o BAAI/bge-small-pt-v1.5 modelo de embeddings para um endpoint em tempo real do SageMaker em execução em um
ml.g5.2xlarge
instância. Como alternativa, você pode implantar seu próprio modelo de incorporação. - Faça uma pergunta e use o LangChain RecuperaçãoQA para aumentar o prompt com os documentos mais semelhantes do Pinecone, desta vez usando o modelo implantado no endpoint em tempo real do SageMaker:
# convert your local LLM into SageMaker endpoint LLM
llm_sm_ep = SagemakerEndpoint( endpoint_name=tg_sm_model.endpoint_name, # <--- Your text-gen model endpoint name region_name=region, model_kwargs={ "temperature": 0.05, "max_new_tokens": 512 }, content_handler=content_handler,
) llm_qa_smep_chain = RetrievalQA.from_chain_type( llm=llm_sm_ep, # <--- This uses SageMaker Endpoint model for inference chain_type='stuff', retriever=vector_store.as_retriever(search_kwargs={"k": 2}), return_source_documents=True, chain_type_kwargs={"prompt": prompt_template}
)
- Use LangChain para verificar se o endpoint do SageMaker com o modelo de incorporação funciona conforme o esperado para que possa ser usado para ingestão futura de documentos:
response_model = smr_client.invoke_endpoint( EndpointName=em_sm_model.endpoint_name, <--- Your embedding model endpoint name Body=json.dumps({ "text": "This is a sample text" }), ContentType="application/json",
) outputs = json.loads(response_model["Body"].read().decode("utf8"))['outputs']
limpar
Conclua as etapas a seguir para limpar seus recursos:
- Quando você terminar de trabalhar em seu notebook SageMaker Studio, certifique-se de desligar o
ml.g5.2xlarge
por exemplo, para evitar quaisquer cobranças, escolhendo o ícone de parada. Você também pode configurar scripts de configuração do ciclo de vida para desligar automaticamente os recursos quando eles não são usados.
- Se você implantou os modelos em endpoints do SageMaker, execute o seguinte código no final do notebook para excluir os endpoints:
#delete your text generation endpoint
sm_client.delete_endpoint( EndpointName=tg_sm_model.endpoint_name
)
# delete your text embedding endpoint
sm_client.delete_endpoint( EndpointName=em_sm_model.endpoint_name
)
- Por fim, execute a seguinte linha para excluir o índice Pinecone:
pinecone.delete_index(index_name)
Conclusão
Os notebooks SageMaker fornecem uma maneira simples de iniciar sua jornada com Retrieval Augmented Generation. Eles permitem que você experimente interativamente vários modelos, configurações e questões sem criar infraestrutura adicional. Nesta postagem, mostramos como melhorar o desempenho do chat Llama 2 7b em um caso de uso de resposta a perguntas usando LangChain, o modelo de embeddings BGE, e Pinecone. Para começar, inicie o SageMaker Studio e execute o caderno disponível a seguir GitHub repo. Por favor, compartilhe suas idéias na seção de comentários!
Sobre os autores
Anastasia Tzeveleka é arquiteto de soluções especializado em aprendizado de máquina e IA na AWS. Ela trabalha com clientes na EMEA e os ajuda a arquitetar soluções de aprendizado de máquina em escala usando os serviços da AWS. Ela trabalhou em projetos em diferentes domínios, incluindo processamento de linguagem natural (NLP), MLOps e ferramentas Low Code No Code.
Pranav Murthy é arquiteto de soluções especialista em IA/ML na AWS. Ele se concentra em ajudar os clientes a criar, treinar, implantar e migrar cargas de trabalho de aprendizado de máquina (ML) para o SageMaker. Anteriormente, ele trabalhou na indústria de semicondutores desenvolvendo grandes modelos de visão computacional (CV) e processamento de linguagem natural (PNL) para melhorar processos de semicondutores. Nas horas vagas, gosta de jogar xadrez e viajar.
- Conteúdo com tecnologia de SEO e distribuição de relações públicas. Seja amplificado hoje.
- PlatoData.Network Gerativa Vertical Ai. Capacite-se. Acesse aqui.
- PlatoAiStream. Inteligência Web3. Conhecimento Amplificado. Acesse aqui.
- PlatãoESG. Carbono Tecnologia Limpa, Energia, Ambiente, Solar, Gestão de resíduos. Acesse aqui.
- PlatoHealth. Inteligência em Biotecnologia e Ensaios Clínicos. Acesse aqui.
- Fonte: https://aws.amazon.com/blogs/machine-learning/use-amazon-sagemaker-studio-to-build-a-rag-question-answering-solution-with-llama-2-langchain-and-pinecone-for-fast-experimentation/
- :tem
- :é
- :não
- :onde
- $UP
- 1
- 10
- 100
- 13
- 16
- 2023
- 33
- 500
- 7
- a
- AC
- Academia
- Acesso
- Acesso a dados
- acessível
- Segundo
- Conta
- Contas
- precisão
- preciso
- Alcançar
- adicionar
- acrescentando
- Adicional
- Adicionalmente
- aderir
- novamente
- AI
- AI / ML
- permitir
- Permitindo
- permite
- juntamente
- já
- tb
- Amazon
- Amazon Sage Maker
- Estúdio Amazon SageMaker
- Amazon Web Services
- Amazon Web Services (AWS)
- an
- e
- Anuncia
- responder
- respostas
- qualquer
- APIs
- app
- aplicações
- abordagem
- Aplicativos
- arquitetura
- SOMOS
- artificial
- inteligência artificial
- AS
- perguntar
- avaliar
- Assistente
- Associação
- assume
- At
- aumentar
- aumentado
- aumentos
- Autenticação
- auto
- automaticamente
- disponível
- evitar
- premiado
- prêmios
- AWS
- baseado
- BE
- sido
- antes
- MELHOR
- Melhor
- Blog
- Posts do Blog
- corpo
- transmissão
- construir
- construídas em
- by
- CAN
- casas
- casos
- Centralização de
- cadeia
- correntes
- desafios
- acusações
- verificar
- xadrez
- Escolha
- escolha
- escolhido
- Cidades
- classe
- limpar
- clique
- fechado
- código
- colaborar
- colegas
- COM
- combinar
- combina
- como
- vem
- comentários
- completar
- Computar
- computador
- Visão de Computador
- conciso
- confiança
- Configuração
- CONFIRMADO
- consiste
- cônsul
- Containers
- conteúdo
- contexto
- continuar
- Convenção
- conversas
- converter
- Correspondente
- poderia
- Covid-19
- Pandemia de COVID-19
- crio
- criado
- Criar
- Atualmente
- personalizadas
- cliente
- experiência do cliente
- Clientes
- dados,
- banco de dados
- bases de dados
- decidir
- Padrão
- deliciar
- demonstrar
- demonstraram
- dependências
- implantar
- implantado
- Implantação
- desenvolvimento
- detalhado
- em desenvolvimento
- Desenvolvimento
- dispositivo
- diálogo
- diferente
- discutir
- distribuindo
- dividir
- documento
- INSTITUCIONAIS
- domínio
- domínios
- don
- não
- down
- download
- dois
- durante
- dinâmico
- e
- Mais cedo
- facilmente
- esforços
- elementos
- embutindo
- EMEA
- permite
- permitindo
- final
- Ponto final
- contratado
- aumentar
- Entretenimento
- inteiramente
- Meio Ambiente
- equipado
- estabelecido
- eventos
- SEMPRE
- evolução
- exemplo
- existe
- esperar
- esperado
- vasta experiência
- experimentar
- explorar
- externo
- extrato
- Rosto
- facilitando
- RÁPIDO
- mais rápido
- Funcionalidades
- poucos
- final
- descoberta
- Primeiro nome
- primeira vez
- cinco
- Foco
- concentra-se
- seguir
- seguinte
- Escolha
- formulário
- formato
- para a frente
- Gratuito
- amigável
- da
- totalmente
- função
- funcional
- futuro
- Ganho
- gerar
- gerado
- gera
- geração
- generativo
- IA generativa
- gerador
- ter
- Globalmente
- Objetivos
- vai
- GPU
- concedido
- feliz
- Ter
- ter
- he
- ajudar
- útil
- ajuda
- ajuda
- de alto nível
- alta performance
- superior
- sua
- Acertar
- Como funciona o dobrador de carta de canal
- Como Negociar
- Contudo
- HTML
- HTTPS
- Hub
- Abraçando o Rosto
- i
- IBC
- ÍCONE
- ID
- Identidade
- if
- ilustra
- imagem
- executar
- implementação
- implementação
- importar
- melhorar
- melhorado
- melhora
- in
- Em outra
- inclui
- Incluindo
- Crescimento
- aumentando
- índice
- indústria
- Eventos indústria
- INFORMAÇÕES
- Infraestrutura
- do estado inicial,
- entrada
- instalar
- instância
- instruções
- integrado
- Inteligência
- interconectado
- interno
- Internacionais
- Internet
- Acesso à internet
- para dentro
- IT
- ESTÁ
- viagem
- jpg
- json
- apenas por
- Guarda
- chaves
- Saber
- Conhecimento
- língua
- grande
- lançamento
- aprendizagem
- esquerda
- Comprimento
- Nível
- bibliotecas
- como
- LIMITE
- Line
- lhama
- LLM
- carregar
- carregador
- local
- Baixo
- máquina
- aprendizado de máquina
- fazer
- manejável
- gerenciados
- muitos
- correspondente
- máximo
- enquanto isso
- Mídia
- Memória
- Meta
- metadados
- método
- migrado
- ML
- MLOps
- modelo
- modelos
- mais
- a maioria
- devo
- NAB
- nome
- Nacional
- natural
- Processamento de linguagem natural
- Navegar
- Navegação
- necessário
- você merece...
- Cria
- Novo
- Novo acesso
- New York
- Cidade de Nova Iorque
- Próximo
- PNL
- não
- caderno
- Novembro
- agora
- of
- oferecer
- Oferece
- oficial
- Website oficial
- on
- ONE
- online
- aberto
- open source
- otimizado
- Opção
- Opções
- or
- organização
- OS
- Outros
- A Nossa
- Fora
- esboço
- saída
- outputs
- próprio
- caminho
- página
- pandemia
- pão
- parâmetros
- parte
- Parceiros
- passar
- Realizar
- atuação
- permissões
- fase
- peças
- platão
- Inteligência de Dados Platão
- PlatãoData
- jogar
- por favor
- Publique
- POSTAGENS
- preferido
- presente
- anterior
- anteriormente
- processo
- processos
- em processamento
- Perfil
- projeto
- projetos
- protótipo
- prototipagem
- fornecer
- fornecendo
- público
- publicamente
- publicado
- fins
- Python
- pytorch
- qualidade
- busca
- questão
- Frequentes
- Links
- rapidamente
- rápido
- rapidamente
- chegando
- em tempo real
- recentemente
- receita
- referir
- referência
- em relação a
- relevante
- reabrir
- requerer
- requeridos
- Requisitos
- exige
- Recursos
- resposta
- respostas
- resultar
- currículo
- retorno
- rever
- certo
- Tipo
- Execute
- corrida
- sábio
- saquê
- mesmo
- Salvar
- salvo
- dizer
- Escala
- dimensionamento
- cronograma
- agendamento
- Pesquisar
- pesquisas
- Segundo
- seções
- Vejo
- Semicondutor
- enviar
- enviei
- servidor
- serviço
- Serviços
- conjunto
- contexto
- Partilhar
- ela
- mostrar
- mostrada
- mostrou
- fechar
- Encerre
- semelhante
- simplicidade
- solteiro
- Tamanho
- So
- Redes Sociais
- meios de comunicação social
- solução
- Soluções
- alguns
- fonte
- Fontes
- especialista
- específico
- especificamente
- autônoma
- começo
- começado
- Comece
- estático
- Passo
- Passos
- Dê um basta
- loja
- armazenadas
- lojas
- franco
- estudo
- tal
- suficiente
- ajuda
- Suportado
- certo
- rapidamente
- toma
- Tarefa
- tarefas
- técnicas
- Tecnologia
- modelo
- texto
- do que
- que
- A
- deles
- Eles
- Lá.
- assim
- Este
- deles
- isto
- três
- Através da
- Taxa de transferência
- tempo
- para
- token
- tokenize
- ferramentas
- tópico
- tocha
- passeios
- Trem
- transformadores
- transição
- Viagens
- verdadeiro
- tentar
- dois
- tipo
- tipos
- típico
- tipicamente
- para
- Universal
- até
- que vai mais à frente
- Atualizações
- Uso
- usar
- caso de uso
- usava
- Utilizador
- Experiência do Usuário
- usos
- utilização
- utilizar
- valor
- vário
- Verificação
- verificar
- versão
- via
- VISITANTES
- Virtual
- passeios virtuais
- visibilidade
- visão
- Visite a
- Visitas
- andar
- queremos
- Caminho..
- we
- web
- serviços web
- Site
- semanas
- foram
- quando
- sempre que
- qual
- enquanto
- precisarão
- de
- dentro
- sem
- Ganhou
- palavras
- Atividades:
- trabalhou
- trabalhador
- de gestão de documentos
- trabalhar
- trabalho
- ano
- anos
- Iorque
- Vocês
- investimentos
- você mesmo
- zefirnet