精品国产18久久久久久,一个人在线观看的www,亚洲一区二区久久久,成人国内精品久久久久影院vr,最近免费中文字幕大全高清大全1

快速玩轉(zhuǎn) Llama2!阿里云機(jī)器學(xué)習(xí) PAI 推出最佳實(shí)踐

2023-08-01 09:40:25AI云資訊792

前言

近期,Meta 宣布大語言模型 Llama2 開源,包含7B、13B、70B不同尺寸,分別對(duì)應(yīng)70億、130億、700億參數(shù)量,并在每個(gè)規(guī)格下都有專門適配對(duì)話場景的優(yōu)化模型Llama-2-Chat。Llama2 可免費(fèi)用于研究場景和商業(yè)用途(但月活超過7億以上的企業(yè)需要申請),對(duì)企業(yè)和開發(fā)者來說,提供了大模型研究的最新利器。

目前,Llama-2-Chat在大多數(shù)評(píng)測指標(biāo)上超過了其他開源對(duì)話模型,并和一些熱門閉源模型(ChatGPT、PaLM)相差不大。阿里云機(jī)器學(xué)習(xí)平臺(tái)PAI第一時(shí)間針對(duì) Llama2 系列模型進(jìn)行適配,推出全量微調(diào)、Lora微調(diào)、推理服務(wù)等場景最佳實(shí)踐,助力AI開發(fā)者快速開箱。以下我們將分別展示具體使用步驟。

最佳實(shí)踐一:Llama 2 低代碼 Lora 微調(diào)及部署

本實(shí)踐將采用阿里云機(jī)器學(xué)習(xí)平臺(tái)PAI-快速開始模塊針對(duì) Llama-2-7b-chat 進(jìn)行開發(fā)。PAI-快速開始支持基于開源模型的低代碼訓(xùn)練、布署和推理全流程,適合想要快速開箱體驗(yàn)預(yù)訓(xùn)練模型的開發(fā)者。

一、準(zhǔn)備工作

1、進(jìn)入PAI-快速開始頁面

a. 登入PAI控制臺(tái) https://pai.console.aliyun.com/

b. 進(jìn)入PAI工作空間,并在左側(cè)導(dǎo)航欄中找到“快速開始”。

2、選擇Llama2模型

PAI-快速開始包含了不同來源的許多熱門開源模型,來支持人工智能的不同領(lǐng)域和任務(wù)。在本次實(shí)例中,請選擇“生成式AI-大語言模型(large-language-model)”,進(jìn)入模型列表頁。

在模型列表頁中您可以看到多個(gè)來自不同開源社區(qū)的主流模型。在本次展示中,我們將使用llama-2-7b-chat-hf模型(llama-2-7b-hf模型同理)。您也可以自由選擇其他適合您當(dāng)前業(yè)務(wù)需求的模型。

Tips:

一般來說,參數(shù)量越大的模型效果會(huì)更好,但相對(duì)應(yīng)的模型運(yùn)行時(shí)產(chǎn)生的費(fèi)用和微調(diào)訓(xùn)練所需要的數(shù)據(jù)量都會(huì)更多。

Llama-2-13B和70B的版本,以及其他開源大語言模型也將后續(xù)在PAI-快速開始上線,敬請期待。

二、模型在線推理

快速開始提供的llama-2-7b-chat-hf來源于HuggingFace提供的Llama-2-7b-chat模型,它也是主要基于Transformer架構(gòu)的大語言模型,使用多種混合的開源數(shù)據(jù)集進(jìn)行訓(xùn)練,因此適合用于絕大多數(shù)的英文非專業(yè)領(lǐng)域場景。我們可以通過PAI快速開始將此模型直接部署到PAI-EAS,創(chuàng)建一個(gè)推理服務(wù)。

1、部署模型

通過模型詳情頁面的的部署入口您可以一鍵創(chuàng)建一個(gè)基于此模型的在線推理服務(wù),所有的參數(shù)已經(jīng)幫您默認(rèn)配置完畢。當(dāng)然,您也可以自由選擇所使用的計(jì)算資源和其他設(shè)置,我們即可以將該模型直接部署到PAI-EAS創(chuàng)建推理服務(wù)。

請注意,模型需要至少64GiB內(nèi)存和24GiB及以上的顯存,請確保您選擇的計(jì)算資源滿足以上要求,否則部署可能失敗。

通過服務(wù)詳情頁,您可以查看推理服務(wù)的部署狀態(tài)。當(dāng)服務(wù)狀態(tài)為“運(yùn)行中”時(shí),表示推理服務(wù)已經(jīng)部署成功。

Tips:

后續(xù)您可以隨時(shí)在PAI-快速開始中點(diǎn)擊“管理任務(wù)與部署”按鈕來回到當(dāng)前的推理服務(wù)。

2、調(diào)用推理服務(wù)

在部署成功之后,您即可通過WebUI的方式來最快速度調(diào)試您的服務(wù),發(fā)送預(yù)測請求。

在WebUI中也同時(shí)支持了API調(diào)用能力,相關(guān)文檔可以在WebUI頁底點(diǎn)擊“Use via API”查看。

三、模型微調(diào)訓(xùn)練

llama-2-7b-chat-hf模型適用于絕大多數(shù)非專業(yè)的場景。當(dāng)您需要應(yīng)用特定領(lǐng)域的專業(yè)知識(shí)時(shí),您可以選擇使用模型的微調(diào)訓(xùn)練來幫助模型在自定義領(lǐng)域的能力。

Tips:

大語言模型也可以在對(duì)話過程中直接學(xué)習(xí)到比較簡單的知識(shí),請根據(jù)自己的需求選擇是否訓(xùn)練。

當(dāng)前快速開始支持的訓(xùn)練方式基于LoRA。LoRA訓(xùn)練相較于其他訓(xùn)練方式(如SFT等)會(huì)顯著降低訓(xùn)練成本和時(shí)間,但大語言模型的LoRA訓(xùn)練效果可能不穩(wěn)定。

1、準(zhǔn)備數(shù)據(jù)

Tips:

為方便您試用體驗(yàn)Llama 2模型,我們在 llama-2-7b-chat-hf的模型卡片中也已經(jīng)幫您準(zhǔn)備了一份默認(rèn)用于Instruction Tuning的數(shù)據(jù)集來直接進(jìn)行微調(diào)訓(xùn)練。

模型支持使用OSS上的數(shù)據(jù)進(jìn)行訓(xùn)練。訓(xùn)練數(shù)據(jù)接受Json格式輸入,每條數(shù)據(jù)由問題、答案、id組成,分別用"instruction"、"output"和"id"字段表示,例如:

[

{

"instruction": "以下文本是否屬于世界主題?為什么美國人很少舉行閱兵?",

"output": "是",

"id": 0

},

{

"instruction": "以下文本是否屬于世界主題?重磅!事業(yè)單位車改時(shí)間表已出!",

"output": "不是",

"id": 1

}

]

訓(xùn)練數(shù)據(jù)的具體格式也可以在PAI-快速開始的具體模型介紹頁中查閱。

關(guān)于如何上傳數(shù)據(jù)到OSS,以及查看相應(yīng)的數(shù)據(jù),請參考OSS的幫助文檔:https://help.aliyun.com/document_detail/31883.html?spm=a2c4g.31848.0.0.71102cb7dsCgz2

為了更好的驗(yàn)證模型訓(xùn)練的效果,除了提供訓(xùn)練數(shù)據(jù)集之外,也推薦您準(zhǔn)備一份驗(yàn)證數(shù)據(jù)集:它將會(huì)用于在訓(xùn)練中評(píng)估模型訓(xùn)練的效果,以及訓(xùn)練的參數(shù)優(yōu)化調(diào)整。

2、提交訓(xùn)練作業(yè)

在準(zhǔn)備好使用的數(shù)據(jù)集之后,您即可以在快速開始的模型頁面配置訓(xùn)練使用的數(shù)據(jù)集、提交訓(xùn)練作業(yè)。我們已經(jīng)默認(rèn)配置了優(yōu)化過的超參數(shù)和訓(xùn)練作業(yè)使用的計(jì)算資源配置,您也可以根據(jù)自己的實(shí)際業(yè)務(wù)修改。

通過訓(xùn)練作業(yè)詳情頁,您可以查看訓(xùn)練任務(wù)的執(zhí)行進(jìn)度、任務(wù)日志、以及模型的評(píng)估信息。當(dāng)訓(xùn)練任務(wù)的狀態(tài)為“成功”,訓(xùn)練作業(yè)產(chǎn)出的模型會(huì)被保存到OSS上(見作業(yè)詳情頁的“模型輸出路徑”)。

Tips:

使用默認(rèn)數(shù)據(jù)集和默認(rèn)超參數(shù)、計(jì)算資源訓(xùn)練大概預(yù)計(jì)的完成時(shí)間在1小時(shí)30分鐘左右。如果使用自定義訓(xùn)練數(shù)據(jù)和配置項(xiàng),預(yù)計(jì)的訓(xùn)練完成時(shí)間可能有所差異,但通常應(yīng)該在數(shù)小時(shí)后完成。

如果中途關(guān)閉了頁面,您可以隨時(shí)在PAI-快速開始中點(diǎn)擊“管理任務(wù)與部署”按鈕來回到當(dāng)前的訓(xùn)練任務(wù)。

3、部署微調(diào)模型

當(dāng)微調(diào)訓(xùn)練成功之后,用戶可以直接在作業(yè)詳情頁將獲得的模型部署為推理服務(wù)。具體的模型部署和服務(wù)調(diào)用流程請參照以上的“直接部署模型”的文檔。

最佳實(shí)踐二:Llama2 全參數(shù)微調(diào)訓(xùn)練

本實(shí)踐將采用阿里云機(jī)器學(xué)習(xí)平臺(tái)PAI-DSW模塊針對(duì) Llama-2-7B-Chat 進(jìn)行全參數(shù)微調(diào)。PAI-DSW是交互式建模平臺(tái),該實(shí)踐適合需要定制化微調(diào)模型,并追求模型調(diào)優(yōu)效果的開發(fā)者。

一、運(yùn)行環(huán)境要求

Python環(huán)境3.9以上,GPU推薦使用A100(80GB),該資源比較緊俏,建議多刷新幾次。

二、準(zhǔn)備工作

1、登入PAI并下載 Llama-2-7B-Chat

a. 登入PAI控制臺(tái) https://pai.console.aliyun.com/

b. 進(jìn)入 PAI-DSW 創(chuàng)建實(shí)例后下載模型文件。運(yùn)行如下代碼,可以自動(dòng)為您選擇合適的下載地址,并將模型下載到當(dāng)前目錄。

import os

dsw_region = os.environ.get("dsw_region")

url_link = {

"cn-shanghai": "https://atp-modelzoo-sh.oss-cn-shanghai-internal.aliyuncs.com/release/tutorials/llama2/llama2-7b.tar.gz",

"cn-hangzhou": "https://atp-modelzoo.oss-cn-hangzhou-internal.aliyuncs.com/release/tutorials/llama2/llama2-7b.tar.gz",

"cn-shenzhen": "https://atp-modelzoo-sz.oss-cn-shenzhen-internal.aliyuncs.com/release/tutorials/llama2/llama2-7b.tar.gz",

"cn-beijing": "https://atp-modelzoo-bj.oss-cn-beijing-internal.aliyuncs.com/release/tutorials/llama2/llama2-7b.tar.gz",

}

path = url_link[dsw_region]

os.environ['LINK_CHAT'] = path

!wget $LINK_CHAT

!tar -zxvf llama2-7b.tar.gz

如果您的地區(qū)不在上述地區(qū)中,您可以自行選擇與你地域最近的鏈接進(jìn)行下載(不同地域不共享內(nèi)網(wǎng),記得將鏈接中的-internal去掉)。同一地域的數(shù)據(jù)下載速度快,不同地域之間也可以下載,但是速度比同一地域略慢。

如果您希望從ModelScope下載模型,請點(diǎn)擊鏈接:https://modelscope.cn/models/modelscope/Llama-2-7b-chat-ms/summary

2、下載和安裝環(huán)境

接著下載和安裝所需要的環(huán)境。

ColossalAI是大規(guī)模并行AI訓(xùn)練系統(tǒng),在本例中我們使用該框架進(jìn)行模型微調(diào)。

transformers是基于transformers模型結(jié)構(gòu)的預(yù)訓(xùn)練語言庫。

gradio是一個(gè)快速構(gòu)建機(jī)器學(xué)習(xí)Web展示頁面的開源庫。

! wget https://atp-modelzoo-sh.oss-cn-shanghai.aliyuncs.com/release/tutorials/llama2/ColossalAI.tar.gz

! tar -zxvf ColossalAI.tar.gz

! pip install ColossalAI/.

! pip install ColossalAI/applications/Chat/.

! pip install transformers==4.30.0

! pip install gradio==3.11

3、下載示例訓(xùn)練數(shù)據(jù)

下載訓(xùn)練所需的數(shù)據(jù),這里我們提供的一份創(chuàng)意生成數(shù)據(jù),包括發(fā)言稿生成等內(nèi)容。

您也可以參考該格式,自行準(zhǔn)備所需數(shù)據(jù)。

! wget https://atp-modelzoo-sh.oss-cn-shanghai.aliyuncs.com/release/tutorials/llama2/llama_data.json

! wget https://atp-modelzoo-sh.oss-cn-shanghai.aliyuncs.com/release/tutorials/llama2/llama_test.json

三、微調(diào)模型

您可以使用已經(jīng)寫好的訓(xùn)練腳本,進(jìn)行模型訓(xùn)練。

! sh ColossalAI/applications/Chat/examples/train_sft.sh

四、試玩模型

模型訓(xùn)練完成后,下載我們提供的webUI demo,試玩微調(diào)完成的模型(注意模型地址替換為自己訓(xùn)練好的模型地址)。

import gradio as gr

import requests

import json

from transformers import AutoTokenizer, AutoModelForCausalLM

#模型地址替換為自己訓(xùn)練好的模型地址

tokenizer = AutoTokenizer.from_pretrained("/mnt/workspace/sft_llama2-7b",trust_remote_code=True)

#模型地址替換為自己訓(xùn)練好的模型地址

model = AutoModelForCausalLM.from_pretrained("/mnt/workspace/sft_llama2-7b",trust_remote_code=True).eval().half().cuda()

def inference(text):

from transformers import pipeline

pipe = pipeline("text-generation", model=model, tokenizer=tokenizer,device='cuda:0', max_new_tokens=400)

res=pipe(text)

return res[0]['generated_text'][len(text):]

demo = gr.Blocks()

with demo:

input_prompt = gr.Textbox(label="請輸入需求", value="請以軟件工程師的身份,寫一篇入職的發(fā)言稿。", lines=6)

generated_txt = gr.Textbox(lines=6)

b1 = gr.Button("發(fā)送")

b1.click(inference, inputs=[input_prompt], outputs=generated_txt)

demo.launch(enable_queue=True, share=True)

五、模型上傳至OSS并在線部署

如果希望將上述模型部署至PAI-EAS,您需要首先將訓(xùn)練完成的模型上傳至OSS。

下列參數(shù)需要根據(jù)您自己的信息填寫

# encoding=utf-8

import oss2

import os

AK='yourAccessKeyId'

SK='yourAccessKeySecret'

endpoint = 'yourEndpoint'

dir='your model output dir'

auth = oss2.Auth(AK, SK)

bucket = oss2.Bucket(auth, endpoint, 'examplebucket')

for filename in os.listdir(dir):

current_file_path = dir+filename

file_path = '需要上傳地址'

bucket.put_object_from_file(file_path, current_file_path)

接下來進(jìn)行部署工作,步驟請參考【最佳實(shí)踐三:Llama2 快速部署 WebUI】

最佳實(shí)踐三:Llama2 快速部署 WebUI

本實(shí)踐將采用阿里云機(jī)器學(xué)習(xí)平臺(tái)PAI-EAS模塊針對(duì) Llama-2-13B-chat 進(jìn)行部署。PAI-EAS是模型在線服務(wù)平臺(tái),支持將模型一鍵部署為在線推理服務(wù)或AI-Web應(yīng)用,具備彈性擴(kuò)縮的特點(diǎn),適合需求高性價(jià)比模型服務(wù)的開發(fā)者。

一、服務(wù)部署

進(jìn)入PAI-EAS模型在線服務(wù)頁面。

a.登錄PAI控制臺(tái) https://pai.console.aliyun.com/

b.在左側(cè)導(dǎo)航欄單擊工作空間列表,在工作空間列表頁面中單擊待操作的工作空間名稱,進(jìn)入對(duì)應(yīng)工作空間內(nèi)。

c.在工作空間頁面的左側(cè)導(dǎo)航欄選擇模型部署>模型在線服務(wù)(EAS),進(jìn)入PAI EAS模型在線服務(wù)頁面。

2、在PAI EAS模型在線服務(wù)頁面,單擊部署服務(wù)。

3、在部署服務(wù)頁面,配置以下關(guān)鍵參數(shù)。

參數(shù)

描述

服務(wù)名稱

自定義服務(wù)名稱。本案例使用的示例值為:chatllm_llama2_13b。

部署方式

選擇鏡像部署AI-Web應(yīng)用。

鏡像選擇

PAI平臺(tái)鏡像列表中選擇chat-llm-webui,鏡像版本選擇1.0。

由于版本迭代迅速,部署時(shí)鏡像版本選擇最高版本即可。

運(yùn)行命令

服務(wù)運(yùn)行命令:

如果使用13b的模型進(jìn)行部署:python webui/webui_server.py --listen --port=8000 --model-path=meta-llama/Llama-2-13b-chat-hf --precision=fp16

如果使用7b的模型進(jìn)行部署:python webui/webui_server.py --listen --port=8000 --model-path=meta-llama/Llama-2-7b-chat-hf

端口號(hào)輸入:8000

資源組種類

選擇公共資源組。

資源配置方法

選擇常規(guī)資源配置。

資源配置選擇

必須選擇GPU類型,實(shí)例規(guī)格推薦使用ecs.gn6e-c12g1.3xlarge。

13b的模型務(wù)必跑在gn6e及更高規(guī)格的機(jī)型上。

7b的模型可以跑在A10/GU30機(jī)型上。

額外系統(tǒng)盤

選擇50GB

4、單擊部署,等待一段時(shí)間即可完成模型部署。

二、啟動(dòng)WebUI進(jìn)行模型推理

1、單擊目標(biāo)服務(wù)的服務(wù)方式列下的查看Web應(yīng)用。

2、在WebUI頁面,進(jìn)行模型推理驗(yàn)證。

在對(duì)話框下方的輸入界面輸入對(duì)話內(nèi)容,例如”請?zhí)峁┮粋€(gè)理財(cái)學(xué)習(xí)計(jì)劃”,點(diǎn)擊發(fā)送,即可開始對(duì)話。

What's More

1.本文主要展示了基于阿里云機(jī)器學(xué)習(xí)平臺(tái)PAI快速進(jìn)行Llama2微調(diào)及部署工作的實(shí)踐,主要是面向7B和13B尺寸的。后續(xù),我們將展示如何基于PAI進(jìn)行70B尺寸的 Llama-2-70B 的微調(diào)及部署工作,敬請期待。

2.上述實(shí)驗(yàn)中,【最佳實(shí)踐三:Llama2 快速部署 WebUI】支持免費(fèi)試用機(jī)型運(yùn)行,歡迎點(diǎn)擊【閱讀原文】前往阿里云使用中心領(lǐng)取“PAI-EAS”免費(fèi)試用后前往PAI控制臺(tái)體驗(yàn)。

參考資料:

Llama2: Inside the Model https://ai.meta.com/llama/#inside-the-model

Llama 2 Community License Agreement https://ai.meta.com/resources/models-and-libraries/llama-downloads/

HuggingFace Open LLM Leaderboard https://huggingface.co/spaces/HuggingFaceH4/open_llm_leaderboard

阿里云機(jī)器學(xué)習(xí)平臺(tái)PAI:https://www.aliyun.com/product/bigdata/learn

特別提示您 Llama2 屬于國外公司開發(fā)的限制性開源模型,請您務(wù)必在使用前仔細(xì)閱讀并遵守 Llama2 的許可協(xié)議,尤其是其限制性許可條款(如月活超過7億以上的企業(yè)需申請額外許可)和免責(zé)條款等。

此外提醒您務(wù)必遵守適用國家的法律法規(guī),若您利用 Llama2 向中國境內(nèi)公眾提供服務(wù),請遵守國家的各項(xiàng)法律法規(guī)要求,尤其不得從事或生成危害國家、社會(huì)、他人權(quán)益等行為和內(nèi)容。

相關(guān)文章

人工智能企業(yè)

更多>>

人工智能硬件

更多>>

人工智能產(chǎn)業(yè)

更多>>

人工智能技術(shù)

更多>>
AI云資訊(愛云資訊)立足人工智能科技,打造有深度、有前瞻、有影響力的泛科技媒體平臺(tái)。
合作QQ:1211461360微信號(hào):icloudnews