Retrieval Augmented Generation (RAG) låter dig tillhandahålla en stor språkmodell (LLM) med tillgång till data från externa kunskapskällor som arkiv, databaser och API:er utan att behöva finjustera den. När generativ AI används för att besvara frågor, gör RAG det möjligt för LLM:er att svara på frågor med den mest relevanta, uppdaterade informationen och eventuellt citera sina datakällor för verifiering.
En typisk RAG-lösning för kunskapshämtning från dokument använder en inbäddningsmodell för att konvertera data från datakällorna till inbäddningar och lagrar dessa inbäddningar i en vektordatabas. När en användare ställer en fråga söker den i vektordatabasen och hämtar dokument som mest liknar användarens fråga. Därefter kombinerar den de hämtade dokumenten och användarens fråga i en utökad prompt som skickas till LLM för textgenerering. Det finns två modeller i denna implementering: inbäddningsmodellen och LLM som genererar det slutliga svaret.
I det här inlägget visar vi hur man använder Amazon SageMaker Studio att bygga en RAG-fråga svarande lösning.
Använda anteckningsböcker för RAG-baserade frågesvar
Implementering av RAG innebär vanligtvis att experimentera med olika inbäddningsmodeller, vektordatabaser, textgenereringsmodeller och uppmaningar, samtidigt som du felsöker din kod tills du får en fungerande prototyp. Amazon SageMaker erbjuder hanterade Jupyter-datorer utrustade med GPU-instanser, vilket gör att du snabbt kan experimentera under den här inledande fasen utan att skapa ytterligare infrastruktur. Det finns två alternativ för att använda anteckningsböcker i SageMaker. Det första alternativet är snabbstart bärbara datorer tillgänglig via SageMaker Studio. I SageMaker Studio, den integrerade utvecklingsmiljön (IDE) specialbyggd för ML, kan du lansera bärbara datorer som körs på olika instanstyper och med olika konfigurationer, samarbeta med kollegor och få tillgång till ytterligare specialbyggda funktioner för maskininlärning (ML). Det andra alternativet är att använda en SageMaker anteckningsbok instans, som är en fullständigt hanterad ML-beräkningsinstans som kör Jupyter Notebook-appen.
I det här inlägget presenterar vi en RAG-lösning som utökar modellens kunskap med ytterligare data från externa kunskapskällor för att ge mer exakta svar specifika för en anpassad domän. Vi använder en enda SageMaker Studio-anteckningsbok som körs på en ml.g5.2xlarge
instans (1 A10G GPU) och Llama 2 7b chat hf, den finjusterade versionen av Llama 2 7b, som är optimerad för dialoganvändningsfall från Hugging Face Hub. Vi använder två AWS Media & Entertainment-blogginlägg som exempel på extern data, som vi konverterar till inbäddningar med BAAI/bge-small-en-v1.5 inbäddningar. Vi förvarar inbäddningarna i Pinecone, en vektorbaserad databas som erbjuder högpresterande sökning och likhetsmatchning. Vi diskuterar också hur du går över från att experimentera i notebook-datorn till att distribuera dina modeller till SageMaker-slutpunkter för realtidsslutning när du slutför din prototyp. Samma tillvägagångssätt kan användas med olika modeller och vektordatabaser.
Lösningsöversikt
Följande diagram illustrerar lösningsarkitekturen.
Implementeringen av lösningen består av två steg på hög nivå: att utveckla lösningen med SageMaker Studios bärbara datorer och att distribuera modellerna för slutledning.
Utveckla lösningen med SageMaker Studio-anteckningsböcker
Utför följande steg för att börja utveckla lösningen:
- Ladda chattmodellen Llama-2 7b från Hugging Face Hub i anteckningsboken.
- Skapa en promptmall med Langkedja och använd den för att skapa uppmaningar för ditt användningsfall.
- För 1–2 exempelmeddelanden, lägg till relevant statisk text från externa dokument som snabbkontext och bedöm om kvaliteten på svaren förbättras.
- Förutsatt att kvaliteten förbättras, implementera arbetsflödet för svar på RAG-frågor:
- Samla de externa dokumenten som kan hjälpa modellen att bättre svara på frågorna i ditt användningsfall.
- Ladda BGE-inbäddningsmodellen och använd den för att skapa inbäddningar av dessa dokument.
- Lagra dessa inbäddningar i ett Pinecone-index.
- När en användare ställer en fråga, utför en likhetssökning i Pinecone och lägg till innehållet från de mest liknande dokumenten till promptens sammanhang.
Distribuera modellerna till SageMaker för slutledning i skala
När du når dina prestationsmål kan du distribuera modellerna till SageMaker för att användas av generativa AI-applikationer:
- Distribuera chattmodellen Llama-2 7b till en SageMaker-slutpunkt i realtid.
- Distribuera BAAI/bge-small-en-v1.5 inbäddningsmodell till en SageMaker-slutpunkt i realtid.
- Använd de distribuerade modellerna i din fråga för att svara på generativa AI-applikationer.
I följande avsnitt går vi igenom stegen för att implementera den här lösningen i SageMaker Studio-anteckningsböcker.
Förutsättningar
För att följa stegen i det här inlägget måste du ha ett AWS-konto och ett AWS identitets- och åtkomsthantering (IAM) roll med behörighet att skapa och komma åt lösningsresurserna. Om du är ny på AWS, se Skapa ett fristående AWS-konto.
För att använda SageMaker Studio-anteckningsböcker i ditt AWS-konto behöver du en SageMaker-domän med en användarprofil som har behörighet att starta SageMaker Studio-appen. Om du är ny på SageMaker Studio, Snabb installation av Studio är det snabbaste sättet att komma igång. Med ett enda klick tillhandahåller SageMaker SageMaker-domänen med standardförinställningar, inklusive inställning av användarprofil, IAM-roll, IAM-autentisering och offentlig internetåtkomst. Anteckningsboken för detta inlägg förutsätter en ml.g5.2xlarge
instanstyp. För att granska eller öka din kvot, öppna AWS Service Quotas-konsolen, välj AWS tjänster välj i navigeringsfönstret Amazon SageMaker, och se värdet för Studio KernelGateway-appar som körs på ml.g5.2xlarge
instanser.
Efter att ha bekräftat din kvotgräns måste du slutföra beroenden för att använda Llama 2 7b-chatt.
Llama 2 7b chatt är tillgänglig under Llama 2 licens. För att komma åt Llama 2 på Hugging Face måste du först utföra några steg:
- Skapa ett Hugging Face-konto om du inte redan har ett.
- Fyll i formuläret "Begär tillgång till nästa version av Llama" på Meta webbplats.
- Begär tillgång till Lama 2 7b chatt på Hugging Face.
Efter att du har beviljats åtkomst kan du skapa en ny åtkomsttoken för att komma åt modeller. För att skapa en åtkomsttoken, navigera till Inställningar sida på Hugging Face-webbplatsen.
Du måste ha ett konto hos Pinecone för att använda det som en vektordatabas. Pinecone är tillgänglig på AWS via AWS Marketplace. Pinecones webbplats erbjuder också möjligheten att skapa en gratis konto som kommer med behörigheter att skapa ett enda index, vilket är tillräckligt för detta inlägg. För att hämta dina Pinecone-nycklar, öppna Pinecone konsol Och välj API-Keys.
Konfigurera anteckningsboken och miljön
För att följa koden i det här inlägget, öppna SageMaker Studio och klona följande GitHub repository. Öppna sedan anteckningsboken studio-local-gen-ai/rag/RAG-with-Llama-2-on-Studio.ipynb och välj PyTorch 2.0.0 Python 3.10 GPU-optimerad bild, Python 3-kärnan och ml.g5.2xlarge
som instanstyp. Om det här är första gången du använder SageMaker Studio-anteckningsböcker, se Skapa eller öppna en Amazon SageMaker Studio Notebook.
För att ställa in utvecklingsmiljön måste du installera de nödvändiga Python-biblioteken, som visas i följande kod:
%%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
Ladda den förtränade modellen och tokenizern
När du har importerat de nödvändiga biblioteken kan du ladda Llama-2 7b chatt modell tillsammans med dess motsvarande tokenizers från Hugging Face. Dessa laddade modellartefakter lagras i den lokala katalogen i SageMaker Studio. Detta gör att du snabbt kan ladda om dem i minnet när du behöver återuppta ditt arbete vid en annan tidpunkt.
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)
Ställ en fråga som kräver uppdaterad information
Du kan nu börja använda modellen och ställa frågor. Llama-2-chattmodeller förväntar sig att uppmaningen följer följande format:
<s>[INST] <<SYS>>
system_prompt
<<SYS>>
{{ user_message }} [/INST]
Du kan använda PromptMall från LangChain för att skapa ett recept baserat på promptformatet, så att du enkelt kan skapa prompter framåt:
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'] )
Låt oss ställa en fråga till modellen som behöver aktuell information från 2023. Du kan använda LangChain och specifikt LLMChain typ av kedja och skicka som parametrar LLM, promptmallen du skapade tidigare och frågan:
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)
Vi får följande genererade svar:
Tack för att du hör av dig! AWS M&E Customer Experience Center i New York City är för närvarande stängt för besök på grund av covid-19-pandemin. Du kan dock kontrollera deras officiella webbplats eller konton i sociala medier för eventuella uppdateringar om när centret kommer att öppna igen. Under tiden kan du utforska deras virtuella rundturer och resurser tillgängliga online.
Förbättra svaret genom att lägga till sammanhang till uppmaningen
Svaret vi genererade är inte helt sant. Låt oss se om vi kan förbättra det genom att tillhandahålla något sammanhang. Du kan lägga till ett utdrag från inlägget AWS tillkännager nytt M&E Customer Experience Center i New York, som inkluderar uppdateringar om ämnet från 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."""
Använd LLMChain igen och skicka den föregående texten som sammanhang:
context_response = llm_chain.predict(context=context, question=question)
print(context_response)
Det nya svaret besvarar frågan med aktuell information:
Du kan besöka AWS M&E Customer Experience Center i New York City från och med den 13 november. Skicka ett e-postmeddelande till AWS-MediaEnt-CXC@amazon.com för att boka ett besök.
Vi har bekräftat att genom att lägga till rätt sammanhang, förbättras modellens prestanda. Nu kan du fokusera dina ansträngningar på att hitta och lägga till rätt sammanhang för frågan som ställs. Med andra ord, implementera RAG.
Implementera svar på RAG-frågor med BGE-inbäddningar och Pinecone
Vid denna tidpunkt måste du bestämma dig för informationskällorna för att förbättra modellens kunskap. Dessa källor kan vara interna webbsidor eller dokument inom din organisation, eller offentligt tillgängliga datakällor. För detta inläggs syfte och för enkelhetens skull har vi valt två AWS-blogginlägg publicerade 2023:
Dessa inlägg är redan tillgängliga som PDF-dokument i dataprojektkatalogen i SageMaker Studio för snabb åtkomst. För att dela upp dokumenten i hanterbara bitar kan du använda RecursiveCharacterTextSplitter metod från 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)
Använd sedan BGE-inbäddningsmodellen bge-small-en skapad av Beijing Academy of Artificial Intelligence (BAAI) som är tillgängligt på Hugging Face för att skapa inbäddningar av dessa bitar. Ladda ner och spara modellen i den lokala katalogen i Studio. Vi använder fp32 så att den kan köras på instansens CPU.
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()
Använd följande kod för att skapa en embedding_generator-funktion, som tar dokumentbitarna som indata och genererar inbäddningarna med BGE-modellen:
# 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))
I det här inlägget visar vi ett RAG-arbetsflöde med Pinecone, ett hanterat, molnbaserat vektor databas som också erbjuder en API för likhetssökning. Du är fri att skriva om följande kod för att använda din föredragna vektordatabas.
Vi initierar en Pinecone python klient och skapa ett nytt vektorsökindex med hjälp av inbäddningsmodellens utdatalängd. Vi använder LangChains inbyggda Pinecone-klass för att få in de inbäddningar vi skapade i föregående steg. Den behöver tre parametrar: dokumenten som ska intas, inbäddningsgeneratorfunktionen och namnet på Pinecone-indexet.
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
)
Med Llama-2 7B-chattmodellen inläst i minnet och inbäddningarna integrerade i Pinecone-indexet kan du nu kombinera dessa element för att förbättra Llama 2:s svar för vårt användningsfall för svar på frågor. För att uppnå detta kan du använda LangChain RetrievalQA, som utökar den initiala prompten med de mest liknande dokumenten från vektorarkivet. Genom att sätta return_source_documents=True
, får du insyn i de exakta dokument som används för att generera svaret som en del av svaret, så att du kan verifiera svarets riktighet.
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))
Vi får följande svar:
F: När kan jag besöka AWS M&E Customer Experience Center i New York City?
A: Jag hjälper gärna till! Enligt sammanhanget kommer AWS M&E Customer Experience Center i New York City att vara tillgängligt för besök från och med den 13 november. Du kan skicka ett e-postmeddelande till AWS-MediaEnt-CXC@amazon.com för att boka ett besök.'
Källdokument:
{'page': 4.0, 'source': 'data/AWS tillkännager nytt M&E Customer Experience Center i New York City _ AWS for M&E Blog.pdf'}
{'page': 2.0, 'source': 'data/AWS tillkännager nytt M&E Customer Experience Center i New York City _ AWS for M&E Blog.pdf'}
Låt oss prova en annan fråga:
question2=" How many awards have AWS Media Services won in 2023?"
print_response(llm_qa_chain(question2))
Vi får följande svar:
F: Hur många priser har AWS Media Services vunnit 2023?
S: Enligt blogginlägget har AWS Media Services vunnit fem branschpriser 2023.'
Källdokument:
{'page': 0.0, 'source': 'data/AWS Media Services awarded industry accolades _ AWS for M&E Blog.pdf'}
{'page': 1.0, 'source': 'data/AWS Media Services awarded industry accolades _ AWS for M&E Blog.pdf'}
När du har etablerat en tillräcklig nivå av förtroende kan du distribuera modellerna till SageMaker-slutpunkter för slutledning i realtid. Dessa slutpunkter är helt hanterade och erbjuder stöd för automatisk skalning.
SageMaker erbjuder stora modellinferenser med hjälp av Large Model Inference-behållare (LMI), som vi kan använda för att distribuera våra modeller. Dessa behållare är utrustade med förinstallerade bibliotek med öppen källkod som DeepSpeed, vilket underlättar implementeringen av prestandahöjande tekniker såsom tensorparallellism under slutledning. Dessutom använder de DJLServing som en förbyggd integrerad modellserver. DJLServering är en högpresterande, universell modellbetjäningslösning som erbjuder stöd för dynamisk batchning och automatisk skalning för arbetare, vilket ökar genomströmningen.
I vårt tillvägagångssätt använder vi SageMaker LMI med DJLServing och DeepSpeed Inference för att distribuera Llama-2-chat 7b och BGE-modellerna till SageMaker-slutpunkter som körs på ml.g5.2xlarge
instanser, vilket möjliggör slutledning i realtid. Om du själv vill följa dessa steg, se medföljande anteckningsbok för detaljerade instruktioner.
Du kommer att kräva två ml.g5.2xlarge
instanser för distribution. För att granska eller öka din kvot, öppna AWS Service Quotas-konsolen, välj AWS tjänster välj i navigeringsfönstret Amazon SageMaker, och hänvisa till värdet för ml.g5.2xlarge
för slutpunktsanvändning.
Följande steg beskriver processen för att distribuera anpassade modeller för RAG-arbetsflödet på en SageMaker-slutpunkt:
- Distribuera Lama-2 7b chattmodell till en SageMaker-slutpunkt i realtid som körs på en
ml.g5.2xlarge
exempel för snabb textgenerering. - Distribuera BAAI/bge-small-en-v1.5 inbäddningsmodell till en SageMaker realtidsslutpunkt som körs på en
ml.g5.2xlarge
exempel. Alternativt kan du distribuera din egen inbäddningsmodell. - Ställ en fråga och använd LangChain RetrievalQA för att utöka uppmaningen med de mest liknande dokumenten från Pinecone, denna gång med modellen som distribueras i SageMakers realtidsslutpunkt:
# 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}
)
- Använd LangChain för att verifiera att SageMaker-slutpunkten med inbäddningsmodellen fungerar som förväntat så att den kan användas för framtida dokumentintag:
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']
Städa upp
Utför följande steg för att rensa upp dina resurser:
- När du har arbetat klart i din SageMaker Studio-anteckningsbok, se till att du stänger av
ml.g5.2xlarge
instans för att undvika avgifter genom att välja stoppikonen. Du kan också ställa in skript för livscykelkonfiguration att automatiskt stänga av resurser när de inte används.
- Om du distribuerade modellerna till SageMaker-slutpunkter, kör följande kod i slutet av anteckningsboken för att ta bort slutpunkterna:
#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
)
- Slutligen, kör följande rad för att ta bort Pinecone-indexet:
pinecone.delete_index(index_name)
Slutsats
SageMaker bärbara datorer är ett enkelt sätt att kickstarta din resa med Retrieval Augmented Generation. De låter dig experimentera interaktivt med olika modeller, konfigurationer och frågor utan att skapa ytterligare infrastruktur. I det här inlägget visade vi hur man förbättrar prestandan för Llama 2 7b-chatt i ett användningsfall som svarar på frågor med hjälp av LangChain, BGE-inbäddningsmodellen och Pinecone. För att komma igång, starta SageMaker Studio och kör anteckningsbok tillgängliga i det följande GitHub repo. Dela gärna dina tankar i kommentarsfältet!
Om författarna
Anastasia Tzeveleka är en maskininlärnings- och AI-specialistlösningsarkitekt på AWS. Hon arbetar med kunder i EMEA och hjälper dem att utforma lösningar för maskininlärning i stor skala med hjälp av AWS-tjänster. Hon har arbetat med projekt inom olika domäner inklusive Natural Language Processing (NLP), MLOps och Low Code No Code-verktyg.
Pranav Murthy är en AI/ML Specialist Solutions Architect på AWS. Han fokuserar på att hjälpa kunder att bygga, träna, distribuera och migrera maskininlärning (ML) arbetsbelastningar till SageMaker. Han har tidigare arbetat inom halvledarindustrin med att utveckla modeller för stora datorseende (CV) och NLP (natural language processing) för att förbättra halvledarprocesser. På fritiden tycker han om att spela schack och att resa.
- SEO-drivet innehåll och PR-distribution. Bli förstärkt idag.
- PlatoData.Network Vertical Generative Ai. Styrka dig själv. Tillgång här.
- PlatoAiStream. Web3 Intelligence. Kunskap förstärkt. Tillgång här.
- Platoesg. Kol, CleanTech, Energi, Miljö, Sol, Avfallshantering. Tillgång här.
- PlatoHealth. Biotech och kliniska prövningar Intelligence. Tillgång här.
- Källa: 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/
- : har
- :är
- :inte
- :var
- $UPP
- 1
- 10
- 100
- 13
- 16
- 2023
- 33
- 500
- 7
- a
- AC
- Academy
- tillgång
- Tillgång till data
- tillgänglig
- Enligt
- Konto
- konton
- noggrannhet
- exakt
- Uppnå
- lägga till
- tillsats
- Annat
- Dessutom
- anslutit sig
- igen
- AI
- AI / ML
- tillåter
- tillåta
- tillåter
- längs
- redan
- också
- amason
- Amazon SageMaker
- Amazon SageMaker Studio
- Amazon Web Services
- Amazon Web Services (AWS)
- an
- och
- tillkännager
- svara
- svar
- vilken som helst
- API: er
- app
- tillämpningar
- tillvägagångssätt
- appar
- arkitektur
- ÄR
- konstgjord
- artificiell intelligens
- AS
- be
- bedöma
- Assistent
- Förening
- antar
- At
- förstärka
- augmented
- Augments
- Autentisering
- bil
- automatiskt
- tillgänglig
- undvika
- tilldelas
- Utmärkelser
- AWS
- baserat
- BE
- varit
- innan
- BÄST
- Bättre
- Blogg
- Blogginlägg
- kropp
- sända
- SLUTRESULTAT
- inbyggd
- by
- KAN
- Vid
- fall
- Centrum
- kedja
- kedjor
- utmaningar
- avgifter
- ta
- schack
- Välja
- välja
- valda
- Stad
- klass
- rena
- klick
- stängt
- koda
- samarbeta
- kollegor
- COM
- kombinera
- kombinerar
- komma
- kommer
- kommentarer
- fullborda
- Compute
- dator
- Datorsyn
- koncis
- förtroende
- konfiguration
- BEKRÄFTAT
- består
- Konsol
- Behållare
- innehåll
- sammanhang
- fortsätta
- Konventionen
- konversationer
- konvertera
- Motsvarande
- kunde
- Covid-19
- COVID-19-pandemi
- skapa
- skapas
- Skapa
- För närvarande
- beställnings
- kund
- kundupplevelse
- Kunder
- datum
- Databas
- databaser
- beslutar
- Standard
- behag
- demonstrera
- demonstreras
- beroenden
- distribuera
- utplacerade
- utplacera
- utplacering
- detaljerad
- utveckla
- Utveckling
- anordning
- dialogruta
- olika
- diskutera
- fördelnings
- dela
- dokumentera
- dokument
- domän
- domäner
- donation
- inte
- ner
- ladda ner
- grund
- under
- dynamisk
- e
- Tidigare
- lätt
- ansträngningar
- element
- inbäddning
- EMEA
- möjliggör
- möjliggör
- änden
- Slutpunkt
- ingrepp
- förbättra
- Underhållning
- helt
- Miljö
- utrustad
- etablerade
- händelser
- NÅGONSIN
- Utvecklingen
- exempel
- finns
- förvänta
- förväntat
- erfarenhet
- experimentera
- utforska
- extern
- extrahera
- Ansikte
- underlättande
- SNABB
- snabbast
- Funktioner
- få
- slutlig
- finna
- Förnamn
- första gången
- fem
- Fokus
- fokuserar
- följer
- efter
- För
- formen
- format
- Framåt
- Fri
- vänliga
- från
- fullständigt
- fungera
- funktionella
- framtida
- Få
- generera
- genereras
- genererar
- generering
- generativ
- Generativ AI
- Generatorn
- skaffa sig
- Globalt
- Mål
- kommer
- GPU
- beviljats
- lyckligt
- Har
- har
- he
- hjälpa
- hjälp
- hjälpa
- hjälper
- högnivå
- högpresterande
- högre
- hans
- Träffa
- Hur ser din drömresa ut
- How To
- Men
- html
- HTTPS
- Nav
- Kramar ansikte
- i
- IBC
- IKON
- ID
- Identitet
- if
- illustrerar
- bild
- genomföra
- genomförande
- genomföra
- importera
- förbättra
- förbättras
- förbättrar
- in
- I andra
- innefattar
- Inklusive
- Öka
- ökande
- index
- industrin
- branschevenemang
- informationen
- Infrastruktur
- inledande
- ingång
- installera
- exempel
- instruktioner
- integrerade
- Intelligens
- sammankopplade
- inre
- Internationell
- Internet
- internetåtkomst
- in
- IT
- DESS
- resa
- jpg
- json
- bara
- Ha kvar
- nycklar
- Vet
- kunskap
- språk
- Large
- lansera
- inlärning
- vänster
- Längd
- Nivå
- bibliotek
- tycka om
- BEGRÄNSA
- linje
- Lama
- LLM
- läsa in
- Lastaren
- lokal
- Låg
- Maskinen
- maskininlärning
- göra
- hanterlig
- förvaltade
- många
- matchande
- maximal
- under tiden
- Media
- Minne
- meta
- metadata
- metod
- migrera
- ML
- MLOps
- modell
- modeller
- mer
- mest
- måste
- HAFFA
- namn
- nationell
- Natural
- Naturlig språkbehandling
- Navigera
- Navigering
- nödvändigt för
- Behöver
- behov
- Nya
- Ny åtkomst
- New York
- new york city
- Nästa
- nlp
- Nej
- anteckningsbok
- November
- nu
- of
- erbjudanden
- Erbjudanden
- tjänsteman
- Officiell hemsida
- on
- ONE
- nätet
- öppet
- öppen källkod
- optimerad
- Alternativet
- Tillbehör
- or
- organisation
- OS
- Övriga
- vår
- ut
- översikt
- produktion
- utgångar
- egen
- vaddera
- sida
- pandemi
- panelen
- parametrar
- del
- partner
- passera
- Utföra
- prestanda
- behörigheter
- fas
- bitar
- plato
- Platon Data Intelligence
- PlatonData
- i
- snälla du
- Inlägg
- inlägg
- föredragen
- presentera
- föregående
- tidigare
- process
- processer
- bearbetning
- Profil
- projektet
- projekt
- Prototypen
- prototyping
- ge
- tillhandahålla
- allmän
- publicly
- publicerade
- syfte
- Python
- pytorch
- kvalitet
- quest
- fråga
- frågor
- Snabbt
- snabbt
- snabb
- snabbt
- nå
- realtid
- senaste
- Receptet
- hänvisa
- referens
- om
- relevanta
- åter öppna
- kräver
- Obligatorisk
- Krav
- Kräver
- Resurser
- respons
- svar
- resultera
- Fortsätt
- avkastning
- översyn
- höger
- Roll
- Körning
- rinnande
- sagemaker
- skull
- Samma
- Save
- sparade
- säga
- Skala
- skalning
- tidtabellen
- schemaläggning
- Sök
- sök
- Andra
- sektioner
- se
- halvledare
- sända
- skickas
- server
- service
- Tjänster
- in
- inställning
- Dela
- hon
- show
- utställningsmonter
- visade
- stänga
- stänga
- liknande
- enkelhet
- enda
- Storlek
- So
- Social hållbarhet
- sociala medier
- lösning
- Lösningar
- några
- Källa
- Källor
- specialist
- specifik
- specifikt
- fristående
- starta
- igång
- Starta
- statisk
- Steg
- Steg
- Sluta
- lagra
- lagras
- lagrar
- okomplicerad
- studio
- sådana
- tillräcklig
- stödja
- Som stöds
- säker
- snabbt
- tar
- uppgift
- uppgifter
- tekniker
- Teknologi
- mall
- text
- än
- den där
- Smakämnen
- deras
- Dem
- Där.
- vari
- Dessa
- de
- detta
- tre
- Genom
- genomströmning
- tid
- till
- token
- symbolisera
- verktyg
- ämne
- brännaren
- turer
- Tåg
- transformatorer
- övergång
- Traveling
- sann
- prova
- två
- Typ
- typer
- typisk
- typiskt
- under
- Universell
- tills
- TIDSENLIG
- Uppdateringar
- Användning
- användning
- användningsfall
- Begagnade
- Användare
- Användarupplevelse
- användningar
- med hjälp av
- utnyttja
- värde
- olika
- Verifiering
- verifiera
- version
- via
- tittare
- Virtuell
- virtuella turer
- synlighet
- syn
- Besök
- Besök
- gå
- vill
- Sätt..
- we
- webb
- webbservice
- Webbplats
- veckor
- były
- när
- närhelst
- som
- medan
- kommer
- med
- inom
- utan
- Vann
- ord
- Arbete
- arbetade
- arbetstagaren
- arbetsflöde
- arbetssätt
- fungerar
- år
- år
- york
- Om er
- Din
- själv
- zephyrnet