國産黑馬砸來百萬算力福利快去沖!H800點擊就送,1.99元玩轉4090

之槐看科技 2024-04-29 03:01:54

編輯:編輯部

【新智元導讀】才短短一周,微調Llama 3變體已經井噴了!去哪裏微調Llama 3?這家國産黑馬早已上架了推理微調預訓練教程,更誇張的是,低至5.99元/卡時的H800點擊就送!

Llama 3誕生整整一周後,直接將開源AI大模型推向新的高度。

Meta官方統計顯示,模型下載量已突破120萬次,在最大開源平台HF上已經有600+微調的Llama 3變體。

更值得一提的是,Llama 3 70B指令微調版已在大模型Chatbot Arena排行榜上並列第一(英語),總體榜單位列第六,並在多個基准測試上的表現均大幅超過已有競品。

可見,Llama 3已經成爲AI應用的最新優選。

問題來了,想要動手微調測試Llama 3,如何用?

最新安利來了!

最近,小編無意發現潞晨雲上的算力價格非常便宜,比如H800-80GB-NVLINK只需5.99元/卡時,而4090甚至低至1.99元/卡時。

與此同時,還會附贈免費的測試代金券。

一通測試下來,小編們發現不僅便宜,而且非常方便好用和功能豐富。

最關鍵的是,它還有配套的從推理到微調和預訓練的實踐教程。

體驗地址在這裏:https://cloud.luchentech.com/

據介紹,在64卡H100集群上,經過潞晨Colossal-AI優化,相比微軟+英偉達方案,可提升Llama 3 70B的訓練性能近20%,推理性能也優于vLLM等方案。

不僅好用還便宜

想體驗Llama 3等AI任務,還需要有GPU等算力支持。目前主流的AI雲主機有AWS、AutoDL、阿裏雲等。但GPU資源不僅昂貴稀缺,供應商普遍還要求使用者必須預先進行高額投入,按年或提前數個月預付定金。

潞晨雲不僅提供了便捷易用的AI解決方案,還爲力求爲廣大AI開發者和其他提供了隨開隨用的廉價算力:

價格信息統計于2024年4月16日,普通賬號可按需按量開啓的價格及可用性,大型雲廠商一般僅支持老舊型號算力(Nvdia V100/P100等)按需按量使用,美元-人民幣彙率換算爲1:7.2368

原價19.99元/卡時的H800-80GB-NVLINK,限時特供低至5.99元/卡時!

對于使用較穩定的長期需求,在潞晨雲還可以按月、按年租用,獲得進一步折扣。

潞晨雲還爲新用戶准備了多種形式的優惠代金券活動,注冊即可白嫖H800、A800、4090、910B等高端算力,構建屬于自己的AI大模型!(新注冊用戶自動獲得代金券額度)

手把手教你部署和訓練Llama 3

創建雲主機

打開算力市場,按照篩選目標算力。

可以看到如圖所示的控制台頁面,右邊是兩台可用的服務器,每台上有8塊可租用的GPU,我們選擇一個,點擊「8卡可租」按鈕,進入算力市場界面。

在租用配置選擇界面,爲自己的雲主機取一個名字並選擇任務所需數量的顯卡,Llama 3 8B推理可以在單卡H800上完成),因此,此處選擇1卡H800。

推理

Colossal-Inference現已適配支持了Llama 3推理加速。在潞晨雲,你可以選擇推理鏡像,使用Colossal-Inference進行推理優化提速,體驗Llama 3的自然語言生成能力。

前期准備

Llama 3模型權重已准備好,無需額外安裝步驟。

推理生成

運行生成腳本

PRETRAINED_MODEL_PATH="/root/notebook/common_data/Meta-Llama-3-8B" # huggingface or local model pathcd ColossalAI/examples/inference/colossalai run --nproc_per_node 1 llama_generation.py -m $PRETRAINED_MODEL_PATH --max_length 80

進行多卡TP推理,如下例使用兩卡生成

colossalai run --nproc_per_node 2 llama_generation.py -m $PRETRAINED_MODEL_PATH --max_length 80 --tp_size 2

吞吐腳本

運行吞吐Benchmark測試

PRETRAINED_MODEL_PATH="/root/notebook/common_data/Meta-Llama-3-8B"git pull # update example benchmark from branch feature/colossal-infercd ColossalAI/examples/inference/python benchmark_llama3.py -m llama3-8b -b 32 -s 128 -o 256 -p $PRETRAINED_MODEL_PATH

單卡H100對Llama 3-8B進行Benchmark結果與vLLM對比(例:輸入序列長度128,輸出長度256)

微調與繼續預訓練

潞晨雲在原有 Llama 2 漢化項目中,支持了 Llama 3 的繼續預訓練與微調。在這裏,你可以通過選擇訓練鏡像,快速對 Llama 3 進行繼續預訓練與微調。

前期准備

1. 編譯安裝 Colossal-AI

cd /root/ColossalAIBUILD_EXT=1 pip install .

2. 創建訓練需要的文件夾

mkdir /root/training_outputsmkdir /root/training_outputs/checkpointsmkdir /root/training_outputs/configsmkdir /root/training_outputs/tensorboards

3. 修改 hostfile

cd /root/ColossalAI/applications/Colossal-LLaMA/cp hostfile.example hostfile

注:可通過 apt install iproute2 -y 在鏡像中安裝 ip addr 指令查看鏡像內 ip 地址

數據准備

當前路徑:/root/ColossalAI/applications/Colossal-LLaMA/

1. 繼續預訓練

{"source": "", "target": "Lionel Andrés Messi(Spanish pronunciation: [ljoˈnel anˈdɾes ˈmesi] (i); born 24 June 1987), also known as Leo Messi, is an Argentine professional footballer who plays as a forward for and captains both Major League Soccer club Inter Miami and the Argentina national team.", "category": "sports"}{"source": "猜謎語:一身卷卷細毛,吃的青青野草,過了數九寒冬,無私獻出白毛。(打一動物)", "target": "白羊", "category": "riddle"}

python prepare_pretrain_dataset.py \ --data_input_dirs "Directory that contains one or more JSONL file(s)>" \ --tokenizer_dir "Tokenizer directory" \ --data_output_dirs "Spliced tokenized output" \ --max_length 8192 \ --num_spliced_dataset_bins 10

2. 微調

{"messages": [{"from": "human", "content": "What are the three primary colors?"}, {"from": "assistant", "content": "The three primary colors are red, blue, and yellow."}]}{"messages": [{"from": "human", "content": "解釋個人電腦和服務器之間的區別。"}, {"from": "assistant", "content": "個人電腦和服務器是兩種不同類型的計算機系統,它們的主要區別在于用途、硬件配置和性能。個人電腦,顧名思義,是爲個人使用而設計的計算機。它們通常用于日常的工作、娛樂和學習,可以運行各種各樣的應用程序和遊戲。個人電腦的硬件配置一般是按照標准配置來設計的,不過也可以根據個人需求進行定制。而服務器是爲了滿足大量用戶的需求而設計的計算機系統,它們通常用于爲用戶提供各種網絡服務,如網站、電子郵件和文件傳輸等。服務器通常需要高性能的硬件配置,並且可以承受高負載和長時間的運行。由于服務器需要支持大量用戶的訪問,它們通常配備多核處理器、大容量內存和大容量硬盤驅動器,以提高系統的運行速度和穩定性。總之,個人電腦和服務器之間的主要區別在于它們的用途、硬件配置和性能。個人電腦用于個人使用,而服務器用于支持大量用戶的訪問。服務器的硬件配置通常比個人電腦更高,以保證系統的性能和穩定性。"}]}

python prepare_sft_dataset.py \ --data_input_dirs "Directory that contains one or more JSONL file(s)>" \ --tokenizer_dir "Tokenizer directory" \ --data_output_dirs "Spliced tokenized output" \ --max_length 8192 \ --num_spliced_dataset_bins 10 \ --llama_version 3

運行成功後,data_output_dirs 文件夾內會自動生成 3 個子文件夾,其中,arrow 文件夾中的數據可用來直接訓練。

此外,潞晨雲還提供了簡單數據集以供測試,處理好數據集可見:/root/notebook/common_data/tokenized-cpt-data

訓練腳本

當前路徑:/root/ColossalAI/applications/Colossal-LLaMA/

1. 修改 config 文件

cp train.example.sh train.sh#更新訓練腳本

2. 參考訓練腳本

PROJECT_NAME="LLaMA-3-8B-cpt"PARENT_SAVE_DIR="/root/training_outputs/checkpoints/" # Path to a folder to save checkpointsPARENT_TENSORBOARD_DIR="/root/training_outputs/tensorboards/" # Path to a folder to save logsPARENT_CONFIG_FILE="/root/training_outputs/configs/" # Path to a folder to save training config logsPRETRAINED_MODEL_PATH="/root/notebook/common_data/Meta-Llama-3-8B" # huggingface or local model path# 以預置已處理數據集爲例declare -a dataset=( /root/notebook/common_data/tokenized-cpt-data/arrow/part-00000 /root/notebook/common_data/tokenized-cpt-data/arrow/part-00001 /root/notebook/common_data/tokenized-cpt-data/arrow/part-00002)TIMESTAMP=$(date +%Y-%m-%d-%H-%M-%S)FULL_PROJECT_NAME="${PROJECT_NAME}-${TIMESTAMP}"SAVE_DIR="${PARENT_SAVE_DIR}${FULL_PROJECT_NAME}"CONFIG_FILE="${PARENT_CONFIG_FILE}${FULL_PROJECT_NAME}.json"colossalai run --nproc_per_node 8 --hostfile hostfile --master_port 31312 train.py \ --pretrained $PRETRAINED_MODEL_PATH \ --dataset ${dataset[@]} \ --plugin "zero2" \ --save_interval 400 \ --save_dir $SAVE_DIR \ --tensorboard_dir $TENSORBOARD_DIR \ --config_file $CONFIG_FILE \ --num_epochs 1 \ --micro_batch_size 2 \ --lr 1e-4 \ --mixed_precision "bf16" \ --grad_clip 1.0 \ --weight_decay 0.01 \ --warmup_steps 100 \ --use_grad_checkpoint \ --use_flash_attn \

其他訓練詳情可參考:https://github.com/hpcaitech/ColossalAI/tree/main/applications/Colossal-LLaMA

大規模訓練

對于大規模預訓練等場景,結合Llama 3 序列變長、embedding增大等特性,潞晨雲針對3D混合並行場景進行了優化,通過自定義流水線切分、gradient checkpoint策略,可以進一步精細化控制每個GPU的內存占用和速度,從而達到整體訓練效率的提升。

潞晨雲使用整數線性規劃搜索出在64x H100上最適合Llama 3 70B的切分、gradient checkpoint策略,最終訓練可以達到每卡410+ TFLOPS的卓越性能。

詳情可參考:https://github.com/hpcaitech/ColossalAI/tree/main/examples/language/llama

此例子附上了潞晨雲測試時使用的配置。使用方法如下:

git clone https://github.com/hpcaitech/ColossalAIcd ColossalAI/examples/language/llamaBUILD_EXT=1 pip install -U git+https://github.com/hpcaitech/ColossalAIpip install -r requirements.txtexport PYTHONPATH=$(realpath ..)colossalai run --nproc_per_node 8 --hostfile HOSTFILE benchmark.py -c Meta-Llama-3-70B -x -g -p 3d --tp 4 --pp 4 --zero 1 -l 8192 --mbs 2 -b 128 --custom-ckpt

歡度五一,百萬福利大放送!羊毛速薅

潞晨雲已准備首期百萬元的代金券,後續還會不斷放出,可以持續關注!

注冊即送:新賬戶注冊即送50元代金券,便捷試用多種AI算力。企業認證:完成企業認證的賬戶可額外獲得1000元代金券,可穩定測試多機H800等稀缺資源。在線評價:用戶在社交媒體和專業論壇(如知乎、小紅書、微博、CSDN等)上分享使用體驗,有效分享一次可得100元代金券。每月最佳分享可額外再獲500元代金券(根據點贊、評論等真實活躍度;每個賬號最多每月各計一次;發布24小時後請找小客服核對驗證)加入用戶群:不定時發放特價資源、代金券等優惠活動。

參考資料:

https://cloud.luchentech.com/

0 阅读:6

之槐看科技

簡介:感謝大家的關注