日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > windows >内容正文

windows

【随手记录】Llama Tutorial 大语言模型实践

發(fā)布時間:2023/11/16 windows 39 coder
生活随笔 收集整理的這篇文章主要介紹了 【随手记录】Llama Tutorial 大语言模型实践 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

這個tutorial的契機(jī)是yy突然看到了一個workshop 所以類似于一周大作業(yè)的形式,輸入command輸出使用了自動駕駛哪些模塊,代碼在這里 所以就干一干,順便寫一個tutorial給大家參考和教程 引申更多的應(yīng)用

參考資料:

  1. https://github.com/facebookresearch/codellama, https://github.com/facebookresearch/llama
  2. 模型申請地址:https://ai.meta.com/llama/ → 然后按download,填寫完后 就會收到兩封郵件
  3. https://github.com/oobabooga/text-generation-webui
  4. 寫tutorial期間的代碼:https://github.com/KTH-RPL/DriveCmd_LLM

所有模型參數(shù)和所需要的GPU并行,注意這只是模型load占用的memory 如果token或者batch size較大 也需要很多GPU顯存,表格下方會說明每個之間的區(qū)別,MP是指并行GPU的數(shù)量 默認(rèn)是多少,所有模型我都在 這邊服務(wù)器的A100試過 Size已經(jīng)是乘過數(shù)量的了 是總和需要的memory

Model Size MP
code-7B ~12.5G 1
code-13B 24G 2
code-34B 63G 4
7b-chat ~12.5G 1
13b-chat 24G 2
70b-chat ~160G 8

  • 7B, 13B, 34B 指示模型參數(shù)量
  • chat 指示經(jīng)過了對話的fine-tuned 【 llama2論文原文:a fine-tuned version of Llama 2 that is optimized for dialogue use cases】
  • code 指示此llama版本經(jīng)過了code數(shù)據(jù)集的訓(xùn)練,can use text prompts to generate and discuss code. 此處為 官方blog

溫馨提示 下列內(nèi)容和 此 https://github.com/KTH-RPL/DriveCmd_LLM README 有重復(fù):里面包含了example和我們寫的prompt流程等 and yy嘗試的chatgpt api那邊的script

1. 申請下載模型

具體如圖:

  1. https://ai.meta.com/llama/ 點擊download
  2. 填寫資料,勾上所有的東西
  3. 接受terms 然后點continue
  4. 大概10分鐘內(nèi)能收到兩封郵件,告訴你可用的權(quán)重和其下載地址【注意!這個地址有限制比如下載超過3次/24小時后 請重新返回步驟一】

2. 模型部署

正如前言中提到的,大部分本地自己用的電腦 可能只能跑最小的模型也就是7b的 GPU的占用率大概是12G,如下圖為我運行repo里的代碼時占用截圖 【上一個A100試了一下 這么一看我本機(jī)3090 也帶不動】

內(nèi)存的增大原因:

  • prompt 長短 也就是你給模型的輸入文字 可能很多 【這也是為什么chatgpt按token收費
  • 輸出的語句長短 也就是模型給你的回答 【我這因為讓他解釋他的輸出了 所以也比較長

回歸正題,接下來是clone兩邊的代碼,一個是code一個是llama 前者經(jīng)過了八股文、leetcode訓(xùn)練【我是這么理解的 hhh 通俗易懂】 后者是原生態(tài)

  1. https://github.com/facebookresearch/llama, 注意復(fù)制鏈接的時候 也別給錯了 看對郵件給
  2. https://github.com/facebookresearch/codellama 同上理

以下為演示截圖

  1. git clone 對應(yīng)代碼
  2. 進(jìn)入文件夾
  3. 運行download.sh
  4. copy 郵件里收到的下載鏈接【第一次沒看仔細(xì) 一直在填自己的email 可還行
  5. 選擇下載什么模型,注意全部下載的話 可能比較大 建議硬盤空間不夠的 選一個最小的 先試試

3. 模型運行

這一步官方的README寫的挺不錯的,依賴很少 照著pip install -r requirements.txt就行,基本無障礙,最好是建一個conda的環(huán)境,別和系統(tǒng)混了,此處為運行示例:

torchrun --nproc_per_node 1 example_completion.py \
    --ckpt_dir CodeLlama-7b/ \
    --tokenizer_path CodeLlama-7b/tokenizer.model \
    --max_seq_len 128 --max_batch_size 4

截圖運行及GPU占用:

正常我們想要的應(yīng)該是chat 聊天形式的所以選擇以下模型會有更好的效果:

Model Size MP
CodeLlama-7b-Instruct ~12.5G 1
CodeLlama-13b-Instruct 24G 2
CodeLlama-34b-Instruct 63G 4
llama-2-7b-chat ~12.5G 1
llama-2-13b-chat 24G 2
llama-2-70b-chat ~160G 8

4. More

可以參考 前言中我提到的task 給出的一個結(jié)果調(diào)用,這里是任務(wù)的報告pdf:https://arxiv.org/abs/2311.08206 更方便大家直接選擇和對比

還有就是如果想自己部署一個chatgpt,或者是在蘋果系統(tǒng)下(which 內(nèi)存就是顯卡內(nèi)存 可以參考這個b站視頻:蘋果M2 Ultra:AI大模型的新希望

自己部署一個chatgpt參考code:

  • llama or codellama 作為model和basic
  • text generation web UI 作為一個web的界面 這樣才能開啟正常對話, https://github.com/oobabooga/text-generation-webui

部署后的示意圖:

同時這里面也提到了其他的大語言模型 可以嘗試的:Multiple model backends: transformers, llama.cpp, ExLlama, ExLlamaV2, AutoGPTQ, GPTQ-for-LLaMa, CTransformers, AutoAWQ

還有一些vision assistance的模型可以一起,免費版chatgpt 4.0 (但是試了一下即使是70B的 效果在我們的任務(wù)上也沒有 3.5API調(diào)用的高,果然還是錢的問題

其中有一個大視覺語言模型 可以關(guān)注:https://github.com/haotian-liu/LLaVA

5. Llama2 論文速讀

主要是記錄一下一些細(xì)節(jié) 比如模型和模型之間的不同,fine-tuned的實現(xiàn)等。

首先是關(guān)于llama2-chat的訓(xùn)練,如下圖:得到llama2后 經(jīng)過RLHF 步驟得到的chat模型 【RLHF 是一種模型訓(xùn)練過程,應(yīng)用于微調(diào)的語言模型,以進(jìn)一步使模型行為與人類偏好和指令遵循保持一致。】

下圖說明了 訓(xùn)練的一些細(xì)節(jié):

  • token是指將所有number 拆分成獨立的digits 然后使用use bytes 去decompose 未知的UTF-8,總的詞匯是32k token
  • 預(yù)訓(xùn)練 2T 的token后 模型也沒有飽和

總結(jié)

以上是生活随笔為你收集整理的【随手记录】Llama Tutorial 大语言模型实践的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。