<cite id="ffb66"></cite><cite id="ffb66"><track id="ffb66"></track></cite>
      <legend id="ffb66"><li id="ffb66"></li></legend>
      色婷婷久,激情色播,久久久无码专区,亚洲中文字幕av,国产成人A片,av无码免费,精品久久国产,99视频精品3
      網(wǎng)易首頁 > 網(wǎng)易號 > 正文 申請入駐

      Llama2 官方入門指南 (中文版)

      0
      分享至


      文:城主

      英文原文:Getting started with Llama 2 - AI at Meta

      https://ai.meta.com/llama/get-started/

      歡迎閱讀Llama的入門指南。

      本指南提供了幫助您設(shè)置Llama所需的信息和資源,包括如何訪問模型、托管、操作指南和集成指南。另外,您還會找到一些補充材料,以便在使用Llama構(gòu)建時為您提供更多幫助。

      快速設(shè)置前提條件

      a.操作系統(tǒng):Ubuntu

      b.包:wget,md5sum

      c.包管理器:Conda ME

      如果你想在Windows或macOS上運行它,請參考開源社區(qū)關(guān)于他們?nèi)绾螌崿F(xiàn)這一點的說明。

      這里有一些你可以閱讀更多關(guān)于開源資源的鏈接

      https://github.com/ggerganov/llama.cpp

      https://github.com/facebookresearch/llama-recipes/issues/32#issuecomment-1647095537

      獲取模型

      a.訪問Llama下載表單(https://ai.meta.com/micro_site/url/?click_from_context_menu=true&country=HK&destination=https%3A%2F%2Fai.meta.com%2Fresources%2Fmodels-and-libraries%2Fllama-downloads%2F&event_type=click&last_nav_impression_id=1Fi6aMOl2BdFe7cqa&max_percent_page_viewed=100&max_viewport_height_px=985&max_viewport_width_px=1293&orig_request_uri=https%3A%2F%2Fai.meta.com%2Fllama%2Fget-started%2F&primary_cmsid=1066018851518569&primary_content_locale=en_US&region=apac&scrolled=true&session_id=0w3r6LDvzBfVZ7ltO&site=meta_ai)并接受我們的許可。

      b.一旦你的請求被批準,你將通過電子郵件收到一個簽名的URL。

      c.克隆Llama 2倉庫

      https://github.com/facebookresearch/llama

      d.運行download.sh腳本,當提示開始下載時,傳遞提供的URL。

      請記住,鏈接在24小時后和一定數(shù)量的下載后會過期。如果你開始看到如403:禁止的錯誤,你可以隨時重新請求鏈接。

      托管
      亞馬遜網(wǎng)絡(luò)服務(wù)

      AWS提供了多種托管你的Llama模型的方式。(SageMaker Jumpstart,EC2,Bedrock等)。在這份文檔中,我們將概述使用SageMaker Jumpstart和Bedrock托管你的模型的步驟。你可以直接在AWS網(wǎng)站上參考其他產(chǎn)品。

      Bedrock

      一個完全托管的服務(wù),提供了一種選擇高性能基礎(chǔ)模型的選擇,通過API構(gòu)建生成AI應(yīng)用,簡化開發(fā)同時保持隱私和安全。你可以在這里 https://aws.amazon.com/bedrock/ 閱讀更多關(guān)于產(chǎn)品的信息,并在這里 https://aws.amazon.com/bedrock/llama-2/ 查看如何使用Llama 2和Bedrock的指南。

      SageMaker JumpStart

      亞馬遜SageMaker使ML從業(yè)者能夠使用完全托管的基礎(chǔ)設(shè)施、工具和工作流程,為任何用例構(gòu)建、訓(xùn)練和部署機器學(xué)習(xí)模型。使用SageMaker JumpStart,ML從業(yè)者可以從廣泛的公開可用的基礎(chǔ)模型中選擇,并在SageMaker實例上進行模型訓(xùn)練和部署。你可以在這里

      https://aws.amazon.com/blogs/machine-learning/llama-2-foundation-models-from-meta-are-now-available-in-amazon-sagemaker-jumpstart/ 閱讀更多關(guān)于它的信息。


      Cloudflare

      Workers AI是Cloudflare全球網(wǎng)絡(luò)上的無服務(wù)器GPU推理。它是一個AI推理作為服務(wù)平臺,使開發(fā)者能夠只用幾行代碼就能運行AI模型。在這里

      https://blog.cloudflare.com/workers-ai/ 了解更多關(guān)于Workers AI的信息,并查看這里 https://developers.cloudflare.com/workers-ai/models/llm/ 的文檔開始使用Llama 2模型。

      谷歌云平臺(GCP)-模型花園

      GCP是一套云計算服務(wù),提供計算資源以及虛擬機。在GCP服務(wù)的基礎(chǔ)上,Vertex AI的模型花園https://cloud.google.com/model-garden 提供了基礎(chǔ)設(shè)施,以一個地方發(fā)現(xiàn)、定制和部署各種模型,為你的ML項目提供了起點。有超過100種基礎(chǔ)模型供開發(fā)者使用,你可以通過幾次點擊就部署AI模型,以及在Google Colab的筆記本中運行微調(diào)任務(wù)。

      Vertex AI

      我們與谷歌云的Vertex AI合作,完全集成了Llama 2,提供了預(yù)訓(xùn)練的聊天和CodeLlama的各種大小。從這里 https://console.cloud.google.com/vertex-ai/publishers/google/model-garden/139 開始,注意你可能需要請求適當?shù)腉PU計算配額作為前提條件。

      Hugging Face

      你必須首先使用與你的Hugging Face賬戶相同的電子郵件地址請求下載

      https://ai.meta.com/resources/models-and-libraries/llama-downloads/ 。


      這樣做后,你可以請求訪問 Hugging Face

      https://huggingface.co/meta-llama 上的任何模型,1-2天內(nèi)你的賬戶將被授予所有版本的訪問權(quán)限。

      Kaggle

      Kaggle是一個數(shù)據(jù)科學(xué)家和機器學(xué)習(xí)工程師的在線社區(qū)。它不僅允許用戶找到用于構(gòu)建他們的AI模型的數(shù)據(jù)集,還允許用戶搜索并下載其他用戶上傳的預(yù)訓(xùn)練模型。在一個地方發(fā)現(xiàn)數(shù)百個經(jīng)過訓(xùn)練,準備就緒的機器學(xué)習(xí)模型。此外,社區(qū)成員也可以使用這些模型在筆記本中發(fā)布他們的創(chuàng)新作品,由谷歌云AI平臺提供計算資源和虛擬機的支持。我們與Kaggle合作,完全集成了Llama 2,提供預(yù)訓(xùn)練的聊天和CodeLlama模型,各種大小。要從Kaggle下載Llama 2模型工件,您必須首先使用與您的Kaggle帳戶相同的電子郵件地址請求下載

      https://ai.meta.com/resources/models-and-libraries/llama-downloads/ 。

      這樣做后,您可以請求訪問Llama 2

      https://www.kaggle.com/models/metaresearch/llama-2

      和Code Lama

      https://www.kaggle.com/models/metaresearch/codellama 模型。一旦您的請求被處理,您將獲得下載權(quán)限。

      微軟Azure和Windows

      使用Microsoft Azure,您可以通過兩種方式之一訪問Llama 2,要么下載Llama 2模型并在虛擬機上部署,要么使用Azure模型目錄。

      Azure虛擬機

      要在Azure VM上運行Llama,您可以設(shè)置自己的VM,或者使用Azure的數(shù)據(jù)科學(xué)VM,它已經(jīng)預(yù)裝了Pytorch、CUDA、NVIDIA系統(tǒng)管理和其他ML工具。要使用數(shù)據(jù)科學(xué)VM,請按照這里的說明設(shè)置一個。確保使用GPU啟用的映像設(shè)置此VM。然而,如果你想設(shè)置自己的VM,你可以按照微軟網(wǎng)站上的快速入門指南 https://learn.microsoft.com/en-us/azure/machine-learning/data-science-virtual-machine/dsvm-ubuntu-intro?view=azureml-api-2 。你可以在“連接到虛擬機”步驟停止。一旦你有了一個VM設(shè)置,你可以按照這里的指南在VM上本地訪問模型。

      Azure模型目錄

      Azure模型目錄是一個用于探索基礎(chǔ)模型集合的中心。基于Azure ML平臺,模型目錄提供了運行ML任務(wù),如微調(diào)和評估的選項,只需幾次點擊。總的來說,這是初級開發(fā)者嘗試他們喜歡的模型的好起點,也集成了強大的工具,供高級開發(fā)者構(gòu)建AI應(yīng)用程序。我們已經(jīng)與Azure合作,將Llama 2完全集成到模型目錄中,提供預(yù)訓(xùn)練的聊天和CodeLlama模型,各種大小。請按照這里 https://techcommunity.microsoft.com/t5/ai-machine-learning-blog/introducing-llama-2-on-azure/ba-p/3881233 的說明開始。

      ONNX for Windows

      ONNX https://onnx.ai/about.html 是一個用于表示機器學(xué)習(xí)模型的開放格式。它定義了一組通用的操作符和一個通用的文件格式,使AI開發(fā)者能夠在各種框架、工具、運行時和編譯器中使用模型。使用ONNX的主要優(yōu)點之一是,它允許模型從一個框架(如TensorFlow)輕松導(dǎo)出,并導(dǎo)入到另一個框架(如PyTorch)。

      配合ONNX運行時,它將通過靈活的接口加速您的開發(fā),集成硬件特定的庫,基本上允許您在不同的平臺(如Windows)上輕松運行ML任務(wù),包括推理。開始為Windows/PC開發(fā)應(yīng)用程序,使用官方的ONNX Llama 2倉庫 https://github.com/microsoft/Llama-2-Onnx 和ONNX運行時 https://github.com/microsoft/Llama-2-Onnx 。請注意,要使用ONNX Llama 2倉庫,您需要提交一個請求,從子倉庫下載模型工件。這個請求將由微軟ONNX團隊審查。

      如何指南

      如果你想通過編寫代碼來學(xué)習(xí),強烈建議你看看了解Llama 2 - Jupyter Notebook

      https://github.com/facebookresearch/llama-recipes/blob/main/examples/Getting_to_know_Llama.ipynb 。這是開始最常見的LLMs操作的好地方。

      微調(diào)

      全參數(shù)微調(diào)是一種微調(diào)所有層的所有參數(shù)的預(yù)訓(xùn)練模型的方法。總的來說,它可以達到最好的性能,但它也是最耗資源和時間的:它需要最多的GPU資源,并且需要最長的時間。PEFT,或參數(shù)高效微調(diào),允許人們用最少的資源和成本微調(diào)模型。有兩種重要的PEFT方法:LoRA(低秩適應(yīng))和QLoRA(量化LoRA),其中預(yù)訓(xùn)練模型分別以量化的8位和4位權(quán)重加載到GPU。你可能可以使用LoRA或QLoRA微調(diào)Llama 2-13B模型,使用單個消費者GPU,內(nèi)存為24GB,使用QLoRA需要的GPU內(nèi)存和微調(diào)時間比LoRA少。通常,人們應(yīng)該首先嘗試LoRA,或者如果資源極其有限,嘗試QLoRA,微調(diào)完成后,評估性能。只有當性能不滿意時,才考慮全面微調(diào)。

      配方PEFT LoRA

      llama-recipes倉庫詳細介紹了由提供的樣本腳本支持的不同微調(diào)

      https://github.com/facebookresearch/llama-recipes/blob/main/docs/LLM_finetuning.md(FT)替代方案。特別是,它強調(diào)了使用PEFT作為首選的FT方法,因為它減少了硬件需求,并防止了災(zāi)難性的遺忘。對于特定的情況,全參數(shù)FT仍然可以有效,可以使用不同的策略來防止過度修改模型。此外,F(xiàn)T可以在單個gpu

      https://github.com/facebookresearch/llama-recipes/blob/main/docs/single_gpu.md 或多個gpu

      https://github.com/facebookresearch/llama-recipes/blob/main/docs/multi_gpu.md 上使用FSDP完成。為了運行這些配方,可以按照以下步驟操作:

      a.創(chuàng)建一個包含pytorch和其他依賴項的conda環(huán)境

      b.按照這里描述的方法安裝配方:

      https://github.com/facebookresearch/llama-recipes#install-with-pip

      c.從hf下載所需的模型,可以使用git-lfs或使用llama下載腳本。

      d.配置好所有內(nèi)容后,運行以下命令:

      pip install trl
      git clone https://github.com/lvwerra/trl

      python trl/examples/scripts/sft_trainer.py \

      --model_name meta-llama/Llama-2-7b-hf \
      --dataset_name timdettmers/openassistant-guanaco \
      --load_in_4bit \
      --use_peft \
      --batch_size 4 \ --gradient_accumulation_steps 2


      Hugging Face PEFT LoRA(https://github.com/huggingface/peft)

      使用Low Rank Adaption(LoRA),Llama 2被加載到GPU內(nèi)存中作為量化的8位權(quán)重。

      使用Hugging Face的PEFT LoRA

      https://huggingface.co/blog/llama2#fine-tuning-with-peft 進行微調(diào)非常簡單 - 在Llama 2-7b上使用OpenAssistant數(shù)據(jù)集進行微調(diào)的示例可以在三個簡單步驟中完成:

      pip install trl
      git clone https://github.com/lvwerra/trl

      python trl/examples/scripts/sft_trainer.py \

      --model_name meta-llama/Llama-2-7b-hf \
      --dataset_name timdettmers/openassistant-guanaco \
      --load_in_4bit \
      --use_peft \
      --batch_size 4 \ --gradient_accumulation_steps 2

      這大約需要在單個GPU上運行16小時,并使用不到10GB的GPU內(nèi)存;改變批處理大小到8/16/32將使用超過11/16/25GB的GPU內(nèi)存。微調(diào)完成后,你會在一個名為“output”的新目錄中看到至少有adapter_config.json和adapter_model.bin - 運行下面的腳本來推斷基礎(chǔ)模型和新模型,這是通過合并基礎(chǔ)模型和微調(diào)模型生成的:

      import torch
      from transformers import ( AutoModelForCausalLM, AutoTokenizer,
      pipeline,
      from peft import LoraConfig, PeftModel from trl import SFTTrainer

      model_name = "meta-llama/Llama-2-7b-chat-hf" new_model = "output"
      device_map = {"": 0}

      base_model = AutoModelForCausalLM.from_pretrained( model_name,
      low_cpu_mem_usage=True,
      return_dict=True,

      torch_dtype=torch.float16,
      device_map=device_map,
      )

      model = PeftModel.from_pretrained(base_model, new_model)

      model = model.merge_and_unload()

      tokenizer = AutoTokenizer.from_pretrained(model_name, trust_remote_code=True)

      tokenizer.pad_token = tokenizer.eos_token
      tokenizer.padding_side = "right"

      prompt = "Who wrote the book Innovator's Dilemma?"

      pipe = pipeline(task="text-generation", model=base_model, tokenizer=tokenizer, max_length=200)
      result = pipe(f"[INST] {prompt} [/INST]")
      print(result[0]['generated_text'])

      pipe = pipeline(task="text-generation", model=model, tokenizer=tokenizer, max_length=200)
      result = pipe(f"[INST] {prompt} [/INST]")
      print(result[0]['generated_text'])


      QLoRA微調(diào)

      QLoRA(Q代表量化)比LoRA更節(jié)省內(nèi)存。在QLoRA中,預(yù)訓(xùn)練模型作為量化的4位權(quán)重加載到GPU。使用QLoRA進行微調(diào)也非常容易運行 - 使用OpenAssistant對Llama 2-7b進行微調(diào)的示例可以在四個快速步驟中完成:

      git clone https://github.com/artidoro/qlora cd qlora

      pip install -U -r requirements.txt ./scripts/finetune_llama2_guanaco_7b.sh

      這大約需要在單個GPU上運行6.5小時,使用11GB的GPU內(nèi)存。微調(diào)完成后,./scripts/finetune_llama2_guanaco_7b.sh中指定的output_dir將有checkoutpoint-xxx子文件夾,其中包含微調(diào)的適配器模型文件。要運行推斷,請使用下面的腳本:

      import torch

      model_id = "meta-llama/Llama-2-7b-hf"
      new_model = "output/llama-2-guanaco-7b/checkpoint-1875/adapter_model" # change if needed
      quantization_config = BitsAndBytesConfig(
      load_in_4bit=True,
      bnb_4bit_compute_dtype=torch.bfloat16,
      bnb_4bit_use_double_quant=True,
      bnb_4bit_quant_type='nf4'
      )
      model = AutoModelForCausalLM.from_pretrained(
      model_id,
      low_cpu_mem_usage=True,
      load_in_4bit=True,
      quantization_config=quantization_config,
      torch_dtype=torch.float16,
      device_map='auto'
      )
      model = PeftModel.from_pretrained(model, new_model)
      tokenizer = AutoTokenizer.from_pretrained(model_id)

      prompt = "Who wrote the book innovator's dilemma?"
      pipe = pipeline(task="text-generation", model=model, tokenizer=tokenizer, max_length=200)
      result = pipe(f"[INST] {prompt} [/INST]") print(result[0]['generated_text'])


      Axotol https://github.com/OpenAccess-AI-Collective/axolotl 是另一個開源庫,你可以用它來簡化Llama 2的微調(diào)。使用Axotol微調(diào)Llama 2的一個好例子是這四個筆記本,涵蓋了整個微調(diào)過程(生成數(shù)據(jù)集,使用LoRA微調(diào)模型,評估和基準測試)

      https://github.com/OpenPipe/OpenPipe/tree/main/examples/classify-recipes 。

      量化

      量化是一種表示模型權(quán)重的技術(shù),這些權(quán)重通常是32位浮點數(shù),用較低精度的數(shù)據(jù)如16位浮點數(shù),16位整數(shù),8位整數(shù),甚至4/3/2位整數(shù)來表示。量化的好處包括更小的模型大小,更快的微調(diào)和更快的推理。在資源受限的環(huán)境中,如單GPU或Mac或移動邊緣設(shè)備(例如https://github.com/ggerganov/llama.cpp),量化是微調(diào)模型或運行推理的必要條件。關(guān)于量化的更多信息可以在這里

      https://pytorch.org/blog/introduction-to-quantization-on-pytorch/ 和這里

      https://huggingface.co/docs/optimum/concept_guides/quantization 找到。

      提示

      提示工程是一種用于提高語言模型性能的技術(shù),通過為模型提供更多的上下文和任務(wù)信息。它涉及創(chuàng)建提示,這些提示是提供額外信息或指導(dǎo)給模型的短文本,如文本將生成的主題或類型。通過使用提示,模型可以更好地理解預(yù)期的輸出類型,并產(chǎn)生更準確和相關(guān)的結(jié)果。在Llama 2中,上下文的大小,以令牌數(shù)量計,已經(jīng)從2048增加到4096。

      制作有效的提示

      制作有效的提示是提示工程的重要部分。以下是一些創(chuàng)建提示的技巧,這些提示將有助于提高你的語言模型的性能:

      1.清晰簡潔:你的提示應(yīng)該易于理解,并提供足夠的信息讓模型生成相關(guān)的輸出。避免使用可能會讓模型混淆的行話或技術(shù)術(shù)語。

      2.使用具體的例子:在你的提示中提供具體的例子可以幫助模型更好地理解預(yù)期的輸出。例如,如果你希望模型生成關(guān)于特定主題的故事,包括一些關(guān)于設(shè)置,角色和情節(jié)的句子。

      3.變化提示:使用不同的提示可以幫助模型更多地了解手頭的任務(wù),并產(chǎn)生更多樣化和創(chuàng)新的輸出。嘗試使用不同的風(fēng)格,語氣和格式來看看模型的反應(yīng)。

      4.測試和改進:一旦你創(chuàng)建了一組提示,就在模型上測試它們,看看它們的表現(xiàn)如何。如果結(jié)果不符合預(yù)期,嘗試通過添加更多的細節(jié)或調(diào)整語氣和風(fēng)格來改進提示。

      5.使用反饋:最后,使用用戶或其他來源的反饋來不斷改進你的提示。這可以幫助你識別模型需要更多指導(dǎo)的地方,并做出相應(yīng)的調(diào)整。

      基于角色的提示

      根據(jù)被対話的人或?qū)嶓w的角色或視角創(chuàng)建提示。這種技術(shù)對于生成更相關(guān)和吸引人的語言模型的回應(yīng)可能很有用。

      優(yōu)點:

      1.提高相關(guān)性:基于角色的提示幫助語言模型理解被対話的人或?qū)嶓w的角色或視角,這可能導(dǎo)致更相關(guān)和吸引人的回應(yīng)。

      2.提高準確性:提供關(guān)于被対話的人或?qū)嶓w的角色或視角的額外上下文可以幫助語言模型避免犯錯誤或誤解。

      缺點:

      1.需要付出努力:需要付出更多的努力來收集和提供有關(guān)被對話的人或?qū)嶓w的角色或觀點的必要信息。

      示例:

      你是一位虛擬導(dǎo)游,正在夜間帶領(lǐng)游客參觀埃菲爾鐵塔。向你的觀眾描述埃菲爾鐵塔,包括它的歷史,每年參觀的人數(shù),完成一次完整游覽需要的時間,以及每年有那么多人參觀這個地方的原因。

      思維鏈技術(shù)

      涉及向語言模型提供一系列提示或問題,以幫助引導(dǎo)其思考并生成更連貫和相關(guān)的回應(yīng)。這種技術(shù)對于生成更深思熟慮和有理有據(jù)的語言模型回應(yīng)非常有用。

      優(yōu)點:

      1.提高連貫性:幫助語言模型以邏輯和結(jié)構(gòu)化的方式思考問題或問題,這可能導(dǎo)致更連貫和相關(guān)的回應(yīng)。

      2.增加深度:提供一系列提示或問題可以幫助語言模型更深入和全面地探索一個主題,可能會導(dǎo)致更有洞察力和信息豐富的回應(yīng)。

      缺點:

      1.需要付出努力思維鏈技術(shù)需要更多的努力來創(chuàng)建和提供必要的提示或問題。

      示例:

      你是一位來自1901年的虛擬導(dǎo)游。你有游客參觀埃菲爾鐵塔。向你的觀眾描述埃菲爾鐵塔。從以下幾點開始:

      1.為什么建造它

      2.建造它花了多長時間

      3.建造材料的來源

      4.建造它需要多少人

      5.以1900年代每年參觀埃菲爾鐵塔的人數(shù),完成一次完整游覽需要的時間,以及每年有那么多人參觀這個地方的原因結(jié)束。

      在游覽結(jié)束時,通過包含1或2個有趣的笑話使你的游覽變得有趣。

      減少幻覺

      Meta的負責(zé)任使用指南

      https://ai.meta.com/static-resource/responsible-use-guide/ 是理解如何最好地提示和處理語言模型輸入/輸出風(fēng)險的極好資源。參考頁面(14-17)。以下是語言模型可能產(chǎn)生幻覺的一些示例,以及解決問題的一些策略:

      示例1:

      語言模型被要求對其未經(jīng)過訓(xùn)練的主題提出問題的回應(yīng)。語言模型可能會產(chǎn)生幻覺信息或制造出不準確或無證據(jù)支持的事實。

      解決方法:為了解決這個問題,你可以向語言模型提供更多關(guān)于主題的上下文或信息,以幫助它理解正在提出的問題,并生成更準確的回應(yīng)。你也可以要求語言模型為其所做的任何聲明提供來源或證據(jù),以確保其回應(yīng)基于事實信息。

      示例2:

      語言模型被要求對需要特定觀點或觀點的問題生成回應(yīng)。語言模型可能會產(chǎn)生幻覺信息或制造出與所需觀點或觀點不一致的事實。

      解決方法:為了解決這個問題,你可以向語言模型提供有關(guān)所需觀點或觀點的額外信息,例如被對話的人或?qū)嶓w的目標,價值觀或信念。這可以幫助語言模型理解上下文,并生成與所需觀點或觀點更一致的回應(yīng)。

      示例3:

      語言模型被要求對需要特定語氣或風(fēng)格的問題生成回應(yīng)。語言模型可能會產(chǎn)生幻覺信息或制造出與所需語氣或風(fēng)格不一致的事實。

      解決方法:為了解決這個問題,你可以向語言模型提供有關(guān)所需語氣或風(fēng)格的額外信息,例如通信的受眾或目的。這可以幫助語言模型理解上下文,并生成與所需語氣或風(fēng)格更一致的回應(yīng)。

      總的來說,避免語言模型產(chǎn)生幻覺的關(guān)鍵是向它們提供清晰和準確的信息和上下文,并仔細監(jiān)控它們的回應(yīng),以確保它們符合你的期望和要求。

      使用Llama提示

      格式:

      [INST]
      {{ user_message }} [/INST]

      多輪用戶提示

      [INST]
      {{ user_message_1 }} [/INST] {{ llama_answer_1 }} [INST] {{ user_message_2 }} [/INST]


      推理

      以下是一些開始使用您的LLMs進行推理的優(yōu)秀資源。

      Github Llama食譜:

      https://github.com/facebookresearch/llama-recipes/blob/main/docs/inference.md

      Page注意力vLLM:

      https://vllm.ai/

      食譜示例

      https://github.com/facebookresearch/llama-recipes/blob/main/examples/vllm/inference.py

      Hugging Face TGI:

      https://github.com/huggingface/text-generation-inference

      食譜示例

      https://github.com/facebookresearch/llama-recipes/tree/main/examples/hf_text_generation_inference

      Cuda圖表:

      https://blog.fireworks.ai/speed-python-pick-two-how-cuda-graphs-enable-fast-python-code-for-deep-learning-353bf6241248


      驗證

      俗話說,如果你不能測量它,你就不能改進它,在這一部分,我們將介紹不同的測量和最終驗證Llama的方法,以便確定不同微調(diào)技術(shù)提供的改進。

      定量技術(shù)

      這些技術(shù)的重點是收集可以在每次微調(diào)運行期間和之后輕松比較的客觀指標,以便快速反饋模型的性能。主要收集的指標是損失和困惑度。

      K-折疊交叉驗證

      包括將數(shù)據(jù)集劃分為k個子集或折疊,然后微調(diào)模型k次。

      在每次運行中,使用不同的折疊作為驗證數(shù)據(jù)集,其余的用于訓(xùn)練。每次運行的性能結(jié)果平均為最終報告。這提供了一個更準確的模型在整個數(shù)據(jù)集上的性能指標,因為所有條目都用于驗證和訓(xùn)練。雖然它產(chǎn)生了對給定數(shù)據(jù)集微調(diào)后模型如何泛化的最準確預(yù)測,但它在計算上昂貴,更適合小數(shù)據(jù)集。

      保留

      使用保留時,數(shù)據(jù)集被劃分為兩個或三個子集,訓(xùn)練和驗證,測試是可選的。測試和驗證集可以分別占據(jù)數(shù)據(jù)集的10% - 30%。顧名思義,前兩個子集用于微調(diào)期間的訓(xùn)練和驗證,第三個只在微調(diào)完成后用于評估模型在未見過的數(shù)據(jù)上的泛化能力。擁有三個分區(qū)的優(yōu)點是,它提供了一種在微調(diào)后評估模型的方法,以便無偏地查看模型性能,但它需要稍大的數(shù)據(jù)集以允許適當?shù)膭澐帧_@目前在Llama食譜微調(diào)腳本中實現(xiàn),使用數(shù)據(jù)集的兩個子集,訓(xùn)練

      https://github.com/facebookresearch/llama-recipes/blob/main/src/llama_recipes/finetuning.py#L165 和驗證

      https://github.com/facebookresearch/llama-recipes/blob/main/src/llama_recipes/finetuning.py#L174 。數(shù)據(jù)收集在一個json文件中,可以繪制出來,以便輕松解釋結(jié)果并評估模型的性能。

      標準評估工具

      有多個項目提供標準評估。他們提供預(yù)定義的任務(wù),使用常用的指標來評估LLMs的性能,如hellaswag和ThrouthfulQA。這些工具可以用來測試模型在微調(diào)后是否退化。此外,可以使用預(yù)計微調(diào)模型的數(shù)據(jù)集創(chuàng)建自定義任務(wù),有效地自動化模型性能在微調(diào)前后的手動驗證。這些類型的項目提供了一種定量觀察模型在模擬真實世界示例中的性能的方法。其中一些項目包括LM評估工具 https://github.com/EleutherAI/lm-evaluation-harness(用于創(chuàng)建HF排行榜

      https://huggingface.co/spaces/HuggingFaceH4/open_llm_leaderboard)、

      Helm

      https://github.com/stanford-crfm/helm 、

      BIG-bench

      https://github.com/google/BIG-bench

      和OpenCompass

      https://github.com/open-compass/opencompass 。

      解讀損失和困惑度

      使用的損失值來自Transformer的LlamaForCausalLM

      https://huggingface.co/docs/transformers/main/model_doc/llama#transformers.LlamaForCausalLM ,它根據(jù)模型所需的目標初始化不同的損失函數(shù)。本節(jié)的目標是簡要介紹如何理解損失和困惑度的結(jié)果,作為微調(diào)期間模型性能的初步評估。我們還計算困惑度作為損失值的指數(shù)。關(guān)于損失函數(shù)的更多信息可以在這些資源中找到:1,2,3,4,5,6。

      在我們的食譜中,我們在微調(diào)期間使用了一個簡單的保留。使用記錄的損失值,對于訓(xùn)練和驗證數(shù)據(jù)集,繪制兩者的曲線來分析過程的結(jié)果。根據(jù)配方中的設(shè)置,預(yù)期的行為是一個日志圖,顯示隨著進程的進行,訓(xùn)練和驗證損失值逐漸減小。


      如果驗證曲線開始上升,而訓(xùn)練曲線繼續(xù)下降,那么模型就過擬合了,它的泛化能力不強。當這種情況發(fā)生時,可以嘗試的替代方案有早停、驗證數(shù)據(jù)集是否是訓(xùn)練數(shù)據(jù)集的統(tǒng)計顯著等價物、數(shù)據(jù)增強、使用參數(shù)高效的微調(diào)或使用k折交叉驗證來更好地調(diào)整超參數(shù)。


      定性技術(shù)

      手動測試

      手動評估一個微調(diào)過的模型會根據(jù)FT目標和可用資源的不同而變化。在這里,我們提供了如何完成它的一般指導(dǎo)原則。

      有了一個為微調(diào)準備的數(shù)據(jù)集,其中的一部分可以被分離出來作為一個手動測試子集,這個子集可以通過可能與特定用例相關(guān)的一般知識問題進一步增加。除了這些一般問題,我們還建議執(zhí)行標準評估,并將結(jié)果與微調(diào)模型的基線進行比較。

      為了評估結(jié)果,應(yīng)該定義一個與所使用的數(shù)據(jù)集相關(guān)的明確的評估標準。示例標準可以是準確性、一致性和安全性。為每個標準創(chuàng)建一個評分標準,定義輸出獲得特定分數(shù)所需的條件。

      有了這些指導(dǎo)原則,將測試問題分發(fā)給一組多樣化的審查者,以便為每個問題獲得多個數(shù)據(jù)點。有了每個問題的多個數(shù)據(jù)點和不同的標準,可以為每個查詢計算出一個最終分數(shù),允許根據(jù)最終模型的首選焦點對分數(shù)進行加權(quán)。

      集成指南Code Llama

      CodeLlama https://about.fb.com/news/2023/08/code-llama-ai-for-coding/ 是基于Llama 2的開源LLMs家族,提供了在代碼任務(wù)上的SOTA性能。它包括:

      ?基礎(chǔ)模型(Code Llama)

      ?Python專業(yè)化(Code Llama - Python),以及

      ?指令跟隨模型(Code Llama - Instruct)有7B、13B和34B參數(shù)的每個模型。


      微調(diào)的不同階段用在訓(xùn)練過程中看到的令牌數(shù)量進行注釋。

      嘗試和集成Code Llama的最好方式之一是使用Hugging Face生態(tài)系統(tǒng),按照博客(https://huggingface.co/blog/codellama),其中包括:

      ?Code Llama 13B、13B-Instruct(聊天)和34B的演示鏈接。

      ?用于代碼完成的工作推理代碼

      ?用于在代碼前綴和后綴之間填充代碼的工作推理代碼

      ?用于在消費者GPU上加載32B模型的4位工作推理代碼

      ?關(guān)于如何為指令模型編寫提示以進行多輪編碼對話的指南

      ?關(guān)于如何使用文本生成推理進行模型部署的指南

      ?關(guān)于如何將代碼自動完成作為VSCode擴展集成的指南

      ?關(guān)于如何評估Code Llama模型的指南

      如果模型在你的特定任務(wù)上表現(xiàn)不佳,例如,如果Code Llama的所有模型(7B/13B/34B)都不能為文本到SQL的任務(wù)生成正確的答案,那么應(yīng)該考慮微調(diào)。這是一個完整的指南和筆記本

      https://github.com/samlhuillier/code-llama-fine-tune-notebook/blob/main/fine-tune-code-llama.ipynb,介紹如何使用Hugging Face上的7B模型微調(diào)Code Llama。

      它使用LoRA微調(diào)方法,并可以在單個GPU上運行。如Code Llama參考資料

      https://www.snowflake.com/blog/meta-code-llama-testing/ 所示,微調(diào)提高了Code Llama在SQL代碼生成上的性能,而且對于LLMs能夠與結(jié)構(gòu)化數(shù)據(jù)和SQL(訪問結(jié)構(gòu)化數(shù)據(jù)的主要方式)進行互操作是至關(guān)重要的——我們正在開發(fā)LangChain和RAG中的Llama 2演示應(yīng)用來展示這一點。

      LangChain

      LangChain(https://www.langchain.com/)是一個用于構(gòu)建LLM驅(qū)動應(yīng)用的開源框架。它實現(xiàn)了常見的抽象和高級API,使得應(yīng)用構(gòu)建過程更加簡單,所以你不需要從頭開始調(diào)用LLM。LangChain的主要構(gòu)建塊/API是:



      模型或LLMs API可以輕松連接到所有流行的LLMs,如Hugging Face或Replicate,這些平臺上托管了所有類型的Llama 2模型。

      ?Prompts API實現(xiàn)了有用的提示模板抽象,幫助您在構(gòu)建復(fù)雜的LLM應(yīng)用時輕松重用好的、通常長且詳細的提示。還有許多內(nèi)置的提示用于常見操作,如摘要或連接到SQL數(shù)據(jù)庫以快速開發(fā)應(yīng)用。提示還可以與解析器緊密合作,輕松從LLM輸出中提取有用的信息。

      ?Memory API可以用來保存對話歷史,并將其與新問題一起提供給LLM,從而實現(xiàn)多輪自然對話聊天。

      ?Chains API包括最基本的LLMChain,它將LLM與提示結(jié)合生成輸出,以及更高級的鏈,讓您以系統(tǒng)化的方式構(gòu)建復(fù)雜的LLM應(yīng)用。例如,第一個LLM鏈的輸出可以是另一個鏈的輸入/提示,或者一個鏈可以有多個輸入和/或多個輸出,這些都可以由提示的LLM輸出預(yù)定義或動態(tài)決定。

      ?Indexes API允許將LLM外部的文檔保存下來,首先將其轉(zhuǎn)換為嵌入,這是文檔的數(shù)值意義表示,以向量形式存儲到向量存儲中。后來,當用戶輸入關(guān)于文檔的問題時,文檔的向量存儲中存儲的相關(guān)數(shù)據(jù)將被檢索并發(fā)送,與查詢一起,到LLM生成與文檔相關(guān)的答案。以下流程顯示了該過程:


      ?Agents API使用LLM作為推理引擎,并將其與其他數(shù)據(jù)源、第三方或自有工具、或API(如網(wǎng)絡(luò)搜索或維基百科API)連接起來。根據(jù)用戶的輸入,代理可以決定調(diào)用哪個工具來處理輸入。

      LangChain可以作為一個強大的檢索增強生成(RAG)工具,將內(nèi)部數(shù)據(jù)或更近期的公共數(shù)據(jù)與LLM集成,進行QA或聊天。LangChain已經(jīng)支持加載許多類型的非結(jié)構(gòu)化和結(jié)構(gòu)化數(shù)據(jù)。

      要了解更多關(guān)于LangChain的信息,可以免費注冊兩個LangChain短期課程,網(wǎng)址為https://www.deeplearning.ai/short-courses。請注意,課程中的代碼使用的是OpenAI ChatGPT LLM,但我們將發(fā)布使用LangChain和Llama 2的演示應(yīng)用。

      已經(jīng)有一個筆記本,于Meta Connect 2023公開發(fā)布,公開可用:

      https://github.com/facebookresearch/llama-recipes/blob/main/examples/Getting_to_know_Llama.ipynb

      LlamaIndex

      LlamaIndex是另一個用于構(gòu)建LLM應(yīng)用的流行開源框架。像LangChain一樣,LlamaIndex也可以通過輕松集成非內(nèi)置在LLM中的數(shù)據(jù)來構(gòu)建RAG應(yīng)用。LlamaIndex有三個關(guān)鍵工具:

      ?連接數(shù)據(jù):將任何類型的數(shù)據(jù) - 結(jié)構(gòu)化、非結(jié)構(gòu)化或半結(jié)構(gòu)化 - 連接到LLM

      ?索引數(shù)據(jù):索引和存儲數(shù)據(jù)

      ?查詢LLM:將用戶查詢和檢索的與查詢相關(guān)的數(shù)據(jù)結(jié)合起來查詢LLM并返回數(shù)據(jù)增強的答案

      返回數(shù)據(jù)增強的答案

      LlamaIndex主要是一個用于將私有或領(lǐng)域特定數(shù)據(jù)與LLMs連接的數(shù)據(jù)框架,因此它專注于智能數(shù)據(jù)存儲和檢索,而LangChain是一個更通用的框架,可以用來構(gòu)建連接多個工具的代理。也可以將LangChain與LlamaIndex一起使用。此外,這兩個框架和現(xiàn)在的VC-based創(chuàng)業(yè)公司都在快速發(fā)展,所以新的或改進的功能不斷被添加以克服其限制 - 例如,最近在LlamaIndex中添加了數(shù)據(jù)代理,而LangChain已經(jīng)支持了數(shù)十種數(shù)據(jù)加載器。

      我們將很快發(fā)布使用LangChina和LlamaIndex與Llama 2的開源演示應(yīng)用。

      社區(qū)支持和資源
      社區(qū)支持

      如果您有任何功能請求、建議、錯誤報告,我們鼓勵您在相應(yīng)的github倉庫中報告問題。如果您正在與Meta合作開發(fā)Llama 2,請請求訪問Asana并使用Asana報告任何問題。

      資源Github

      ?Llama2倉庫

      https://github.com/facebookresearch/llama:主要的Llama2倉庫

      ?Llama2食譜

      https://github.com/facebookresearch/llama-recipes:示例和微調(diào)

      ?代碼Llama倉庫

      https://github.com/facebookresearch/codellama:主要的代碼Llama倉庫

      ?了解Llama2

      https://github.com/facebookresearch/llama-recipes/blob/main/examples/Getting_to_know_Llama.ipynb - Jupyter筆記本

      ?代碼Llama食譜

      https://github.com/facebookresearch/llama-recipes/tree/main/examples/code_llama:示例

      性能和延遲

      ?哈梅爾的博客 - 優(yōu)化和測試LLMs的延遲

      https://hamel.dev/notes/llm/inference/03_inference.html

      ?vLLM - 如何通過連續(xù)批處理在LLM推理中實現(xiàn)23倍的吞吐量同時降低p50延遲

      https://www.anyscale.com/blog/continuous-batching-llm-inference

      ?論文 - 通過提示工程改善壓縮LLMs的性能

      https://arxiv.org/pdf/2305.11186.pdf

      ?Llama2與GPT 4的文本摘要成本比較

      https://www.anyscale.com/blog/llama-2-is-about-as-factually-accurate-as-gpt-4-for-summaries-and-is-30x-cheaper

      微調(diào)

      ?Hugging Face PEFT

      https://github.com/huggingface/peft

      ?Llama食譜微調(diào)

      https://github.com/facebookresearch/llama-recipes/blob/main/docs/LLM_finetuning.md

      ?微調(diào)數(shù)據(jù)集

      https://github.com/facebookresearch/llama-recipes/blob/main/docs/Dataset.md

      ?GPT 3.5與Llama2微調(diào)

      https://ragntune.com/blog/gpt3.5-vs-llama2-finetuning

      ?https://deci.ai/blog/fine-tune-llama-2-with-lora-for-question-answering/

      ?https://www.databricks.com/blog/efficient-fine-tuning-lora-guide-llms

      Code Llama

      ?https://www.snowflake.com/blog/meta-code-llama-testing/

      ?https://www.phind.com/blog/code-llama-beats-gpt4

      ?https://news.ycombinator.com/item?id=37248494

      其他

      ?Hugging Face上的Llama

      https://huggingface.co/meta-llama

      ?為生產(chǎn)構(gòu)建LLM應(yīng)用

      https://huyenchip.com/2023/04/11/llm-engineering.html

      ?提示技巧 https://www.promptingguide.ai/

      特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺“網(wǎng)易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務(wù)。

      Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

      相關(guān)推薦
      熱點推薦
      小區(qū)樓上天天晚上都有女的大聲叫。。。

      小區(qū)樓上天天晚上都有女的大聲叫。。。

      微微熱評
      2025-12-24 00:26:04
      惡毒奶奶掌摑孫女后續(xù)!孫女嘴被打腫,父親發(fā)聲,母親哭了一夜

      惡毒奶奶掌摑孫女后續(xù)!孫女嘴被打腫,父親發(fā)聲,母親哭了一夜

      奇思妙想草葉君
      2025-12-27 11:51:12
      里程碑一戰(zhàn)太遺憾!C羅進球被吹,無緣帽子戲法,神紀錄或被終結(jié)

      里程碑一戰(zhàn)太遺憾!C羅進球被吹,無緣帽子戲法,神紀錄或被終結(jié)

      奧拜爾
      2025-12-28 00:51:48
      2-1!新10號傳射建功 11.9億豪門無敵8連勝 超越死敵登頂積分榜

      2-1!新10號傳射建功 11.9億豪門無敵8連勝 超越死敵登頂積分榜

      狍子歪解體壇
      2025-12-27 22:23:22
      19:30!中國男足vs澳大利亞=最難戰(zhàn) 盼1-0爆冷 U23亞洲杯出線不遠

      19:30!中國男足vs澳大利亞=最難戰(zhàn) 盼1-0爆冷 U23亞洲杯出線不遠

      侃球熊弟
      2025-12-28 00:05:03
      黃金暴漲在示警!三戰(zhàn)概率飆升至70%,世界真的不對勁了

      黃金暴漲在示警!三戰(zhàn)概率飆升至70%,世界真的不對勁了

      觸摸史跡
      2025-12-27 17:50:41
      美劇老友記又一演員去世,帕特·芬恩因癌癥病逝,享年60歲

      美劇老友記又一演員去世,帕特·芬恩因癌癥病逝,享年60歲

      叨叨話影
      2025-12-27 15:50:45
      劉強東拿下理想汽車,震驚行業(yè)!

      劉強東拿下理想汽車,震驚行業(yè)!

      財經(jīng)三分鐘pro
      2025-12-25 11:43:53
      警惕:這種復(fù)合型騙局在上海出現(xiàn)!多名來滬人員進入居民小區(qū),有人心動差點上當!警方出手了

      警惕:這種復(fù)合型騙局在上海出現(xiàn)!多名來滬人員進入居民小區(qū),有人心動差點上當!警方出手了

      新民晚報
      2025-12-27 13:54:28
      拜鬼行程被取消?中俄朝韓四國壓力下,高市躲在首相官邸不敢現(xiàn)身

      拜鬼行程被取消?中俄朝韓四國壓力下,高市躲在首相官邸不敢現(xiàn)身

      小陸搞笑日常
      2025-12-28 00:57:47
      一包30塊,一口毀一生!不到十年,北方農(nóng)村已經(jīng)被檳榔全面入侵!

      一包30塊,一口毀一生!不到十年,北方農(nóng)村已經(jīng)被檳榔全面入侵!

      好賢觀史記
      2025-12-16 10:01:53
      6年了,郭麒麟的反擊幾乎斷送了朱亞文的演藝生涯

      6年了,郭麒麟的反擊幾乎斷送了朱亞文的演藝生涯

      小熊侃史
      2025-12-25 11:24:12
      若澤連斯基選舉失敗會被清算嗎?

      若澤連斯基選舉失敗會被清算嗎?

      史政先鋒
      2025-12-27 16:52:40
      俄方譴責(zé)烏軍襲擊“人道主義車輛”,土耳其對俄發(fā)出嚴厲警告

      俄方譴責(zé)烏軍襲擊“人道主義車輛”,土耳其對俄發(fā)出嚴厲警告

      史政先鋒
      2025-12-27 21:46:43
      砍13+3+2+4斷!火箭鋒線大閘復(fù)出即巔峰,重回首發(fā),擠走底薪后衛(wèi)

      砍13+3+2+4斷!火箭鋒線大閘復(fù)出即巔峰,重回首發(fā),擠走底薪后衛(wèi)

      熊哥愛籃球
      2025-12-28 01:49:10
      俄國防部宣布已控制庫皮揚斯克

      俄國防部宣布已控制庫皮揚斯克

      新華社
      2025-12-27 18:43:04
      人一過60,永遠不要在熟人面前,說以下幾句話,誰說誰后悔,切記

      人一過60,永遠不要在熟人面前,說以下幾句話,誰說誰后悔,切記

      游戲收藏指南
      2025-12-27 08:22:53
      男女干部戴頭套開房后續(xù):女主高清照片流出,男主六月新婚

      男女干部戴頭套開房后續(xù):女主高清照片流出,男主六月新婚

      沒有偏旁的常慶
      2025-12-25 06:58:51
      班凱羅淪水貨狀元?美媒曬復(fù)出數(shù)據(jù)一拉到底:5年2.4億被過分高估

      班凱羅淪水貨狀元?美媒曬復(fù)出數(shù)據(jù)一拉到底:5年2.4億被過分高估

      顏小白的籃球夢
      2025-12-27 11:31:46
      林強涉案989億被抓!生活奢華超過中東富豪,超5萬百姓血本無歸

      林強涉案989億被抓!生活奢華超過中東富豪,超5萬百姓血本無歸

      千言娛樂記
      2025-12-27 20:07:06
      2025-12-28 02:36:49
      Web3天空之城 incentive-icons
      Web3天空之城
      美好,有趣的,值得銘記的
      98文章數(shù) 83關(guān)注度
      往期回顧 全部

      科技要聞

      小米也漲價了!業(yè)界稱終端再不漲明年必虧

      頭條要聞

      臺灣地震視頻:房屋狂搖 汽車警報響成一片

      頭條要聞

      臺灣地震視頻:房屋狂搖 汽車警報響成一片

      體育要聞

      83分鐘絕殺!曼城2-1年度收官:英超6連勝狂飆

      娛樂要聞

      張昊唯逃稅涉黃風(fēng)波落幕:法院認定朋友造謠

      財經(jīng)要聞

      注意,開始拉物價了!

      汽車要聞

      好音響比大屏更重要?車企開始“聽”用戶的

      態(tài)度原創(chuàng)

      藝術(shù)
      家居
      旅游
      手機
      數(shù)碼

      藝術(shù)要聞

      驚艷!這件木雕美得讓人心動,絕對不容錯過!

      家居要聞

      格調(diào)時尚 智慧品質(zhì)居所

      旅游要聞

      沒游虎丘等于白來蘇州?這3個景點必打卡!

      手機要聞

      榮耀第二款“萬級”電池曝光,下月發(fā)

      數(shù)碼要聞

      最高5.19 萬!小米新品火熱開賣,“價格屠夫”徹底不裝了

      無障礙瀏覽 進入關(guān)懷版 主站蜘蛛池模板: 亚洲国产成人AⅤ毛片流奶水| 久久精品国产热久久精品国产亚洲| 成安县| 91成人社区| 中文字幕av在线一二三区| 一本色道久久综合亚洲精品按摩| 男人天堂网址| 国产+亚洲+制服| 亚洲国产成人精品无码一区二区| 安多县| jizz免费| 国产成人精品1024免费下载| 三男一女吃奶添下面视频| 国产亚洲网| 日本三级久久| 亚洲精品日韩在线观看| 国产欧美精品区一区二区三区| 湖北省| 五月婷婷影院| 欧洲一区二区三区| 国产热A欧美热A在线视频| 成人免费在线播放av| 欧美又粗又大xxxxbbbb疯狂| 人妻欧美亚洲| 欧美福利导航| 亚洲黄色性视频| 中国亚州女人69内射少妇| 久久久久人妻一区二区三区 | 狠狠色成人| 精品自拍网| caoporn免费视频公开| 国产看黄网站又黄又爽又色| 国产性色av高清在线观看| 扬中市| 一本无码中文字幕| 国产成人av综合色| 一卡二卡三卡| 亚洲每日更新| 一本大道中文字幕无码29 | av无码av天天av天天爽| 一本色道av|