Mistral AI在3月24日突然發(fā)布并開源了 Mistral 7B v0.2模型,有如下幾個特點:
-
和上一代Mistral v0.1版本相比,上下文窗口長度從8k提升到32k,上下文窗口(context window)是指語言模型在進行預測或生成文本時,所考慮的前一個token或文本片段的大小范圍。隨著上下文窗口長度的增加,模型可以提供更豐富的語義信息,用戶使用時,體驗能提升不少,也能很好的應用于RAG場景或者Agent場景這類對上下文長度要求比較高的場景。
-
Rope Theta = 1e6,Rope Theta 有助于控制大語言模型訓練期間“利用”(依賴已知的良好解決方案)和“探索”(尋找新解決方案)之間的權衡。 像1e6這樣的較大值意味著鼓勵模型探索更多。
-
No sliding window(取消滑動窗口機制),在訓練大語言模型時,滑動窗口通常用于處理較小塊的輸入文本(windows)而不是一次性處理全部的輸入文本。 不使用sliding window意味著模型同時處理更長的文本序列,這可以提升模型理解上下文并生成更連貫的響應的能力。 但是,同時也可能會使模型變慢或更加占用資源。
以下是對Mistral 7B v0.2帶來的第一手推理、微調、評測實戰(zhàn)~
環(huán)境配置與安裝
-
python 3.8及以上版本
-
pytorch 1.12及以上版本,推薦2.0及以上版本
-
建議使用CUDA 11.4及以上
技術交流
前沿技術資訊、算法交流、求職內推、算法競賽、面試交流(校招、社招、實習)等、與 10000+來自港科大、北大、清華、中科院、CMU、騰訊、百度等名校名企開發(fā)者互動交流~
我們建了算法崗面試與技術交流群, 想要進交流群、需要源碼&資料、提升技術的同學,可以直接加微信號:mlc2040。加的時候備注一下:研究方向 +學校/公司+CSDN,即可。然后就可以拉你進群了。
方式①、微信搜索公眾號:機器學習社區(qū),后臺回復:技術交流
方式②、添加微信號:mlc2040,備注:技術交流+CSDN
模型鏈接和下載
Mistral 7B v0.2 模型鏈接及原始模型權重文件鏈接:
https://modelscope.cn/models/AI-ModelScope/mistral-7B-v0.2
社區(qū)支持直接下載模型的repo:
from modelscope import snapshot_download
model_dir1 = snapshot_download("AI-ModelScope/Mistral-7B-v0.2-hf")
Mistral 7B v0.2模型推理
Mistral 7B v0.2基礎模型推理代碼:
from modelscope import AutoModelForCausalLM, AutoTokenizer
import torch
device = "cuda" # the device to load the model onto
model = AutoModelForCausalLM.from_pretrained("AI-ModelScope/Mistral-7B-v0.2-hf",torch_dtype=torch.float16)
tokenizer = AutoTokenizer.from_pretrained("AI-ModelScope/Mistral-7B-v0.2-hf")
messages = [
{"role": "user", "content": "What is your favourite condiment?"},
{"role": "assistant", "content": "Well, I'm quite partial to a good squeeze of fresh lemon juice. It adds just the right amount of zesty flavour to whatever I'm cooking up in the kitchen!"},
{"role": "user", "content": "Do you have mayonnaise recipes?"}
]
encodeds = tokenizer.apply_chat_template(messages, return_tensors="pt")
model_inputs = encodeds.to(device)
model.to(device)
generated_ids = model.generate(model_inputs, max_new_tokens=1000, do_sample=True)
decoded = tokenizer.batch_decode(generated_ids)
print(decoded[0])
Mistral 7B v0.2是基礎模型,并不適合直接使用推理使用,推薦使用其instruct版本:
from modelscope import AutoModelForCausalLM, AutoTokenizer
import torch
device = "cuda" # the device to load the model onto
model = AutoModelForCausalLM.from_pretrained("AI-ModelScope/Mistral-7B-Instruct-v0.2",torch_dtype=torch.float16)
tokenizer = AutoTokenizer.from_pretrained("AI-ModelScope/Mistral-7B-Instruct-v0.2")
messages = [
{"role": "user", "content": "What is your favourite condiment?"},
{"role": "assistant", "content": "Well, I'm quite partial to a good squeeze of fresh lemon juice. It adds just the right amount of zesty flavour to whatever I'm cooking up in the kitchen!"},
{"role": "user", "content": "Do you have mayonnaise recipes?"}
]
encodeds = tokenizer.apply_chat_template(messages, return_tensors="pt")
model_inputs = encodeds.to(device)
model.to(device)
generated_ids = model.generate(model_inputs, max_new_tokens=1000, do_sample=True)
decoded = tokenizer.batch_decode(generated_ids)
print(decoded[0])
模型鏈接:
https://modelscope.cn/models/AI-ModelScope/Mistral-7B-Instruct-v0.2
資源消耗:
Mistral 7B v0.2微調和微調后推理
# Experimental environment: A100
# 32GB GPU memory
PYTHONPATH=../../.. \
CUDA_VISIBLE_DEVICES=0 \
python llm_sft.py \
--model_id_or_path AI-ModelScope/Mistral-7B-v0.2-hf \
--model_revision master \
--sft_type lora \
--tuner_backend swift \
--template_type AUTO \
--dtype AUTO \
--output_dir output \
--dataset dureader-robust-zh \
--train_dataset_sample -1 \
--num_train_epochs 1 \
--max_length 2048 \
--check_dataset_strategy warning \
--lora_rank 8 \
--lora_alpha 32 \
--lora_dropout_p 0.05 \
--lora_target_modules DEFAULT \
--gradient_checkpointing false \
--batch_size 1 \
--weight_decay 0.1 \
--learning_rate 1e-4 \
--gradient_accumulation_steps 16 \
--max_grad_norm 0.5 \
--warmup_ratio 0.03 \
--eval_steps 100 \
--save_steps 100 \
--save_total_limit 2 \
--logging_steps 10 \
--use_flash_attn true \
--save_only_model true \
微調后推理
# Experimental environment: A100
# 16GB GPU memory
PYTHONPATH=../../.. \
CUDA_VISIBLE_DEVICES=0 \
python llm_infer.py \
--ckpt_dir "output/mistral-7b-v2/vx-xxx/checkpoint-xxx" \
--load_dataset_config true \
--use_flash_attn true \
--max_new_tokens 2048 \
--temperature 0.5 \
--top_p 0.7 \
--repetition_penalty 1. \
--do_sample true \
--merge_lora false \
--eval_human false \
微調效果
[PROMPT]<s> Task: Question Generation
Context: 下載速度達到72mbp/s速度相當快。 相當于500兆帶寬。 在網速計算中, b=bit ,B=byte 8×b=1×B 意思是 8個小寫的b 才是一個大寫B(tài)。 4M理論下載速度:4M就是4Mb/s 理論下載速度公式:4×1024÷8=512KB /s 請注意按公式單位已經變?yōu)?KB/s 依此類推: 2M理論下載速度:2×1024÷8=256KB /s 8M理論下載速度:8×1024÷8=1024KB /s =1MB/s 10M理論下載速度:10×1024÷8=1280KB /s =2M理論下載速度+8M理論下載速度 50M理論下載速度:50×1024÷8=6400KB /s 1Gb理論下載速度:1024×1024÷8=128MB /s 公式:幾兆帶寬×1024÷8=()KB/s。
Answer: 500兆帶寬
Question:[OUTPUT]72mbps是多少兆帶寬</s>
[LABELS]72mbps是多少網速
--------------------------------------------------
[PROMPT]<s> Task: Question Generation
Context: 【東奧會計在線——中級會計職稱頻道推薦】根據《關于提高科技型中小企業(yè)研究開發(fā)費用稅前加計扣除比例的通知》的規(guī)定,研發(fā)費加計扣除比例提高到75%。|財政部、國家稅務總局、科技部發(fā)布《關于提高科技型中小企業(yè)研究開發(fā)費用稅前加計扣除比例的通知》。|通知稱,為進一步激勵中小企業(yè)加大研發(fā)投入,支持科技創(chuàng)新,就提高科技型中小企業(yè)研究開發(fā)費用(以下簡稱研發(fā)費用)稅前加計扣除比例有關問題發(fā)布通知。|通知明確,科技型中小企業(yè)開展研發(fā)活動中實際發(fā)生的研發(fā)費用,未形成無形資產計入當期損益的,在按規(guī)定據實扣除的基礎上,在2017年1月1日至2019年12月31日期間,再按照實際發(fā)生額的75%在稅前加計扣除;形成無形資產的,在上述期間按照無形資產成本的175%在稅前攤銷。|科技型中小企業(yè)享受研發(fā)費用稅前加計扣除政策的其他政策口徑按照《財政部國家稅務總局科技部關于完善研究開發(fā)費用稅前加計扣除政策的通知》(財稅〔2015〕119號)規(guī)定執(zhí)行。|科技型中小企業(yè)條件和管理辦法由科技部、財政部和國家稅務總局另行發(fā)布??萍?、財政和稅務部門應建立信息共享機制,及時共享科技型中小企業(yè)的相關信息,加強協調配合,保障優(yōu)惠政策落實到位。|上一篇文章:關于2016年度企業(yè)研究開發(fā)費用稅前加計扣除政策企業(yè)所得稅納稅申報問題的公告 下一篇文章:關于提高科技型中小企業(yè)研究開發(fā)費用稅前加計扣除比例的通知
Answer: 75%
Question:[OUTPUT]研發(fā)費用扣除比例</s>
[LABELS]研發(fā)費用加計扣除比例
--------------------------------------------------
[PROMPT]<s> Task: Question Generation
Context: 防水作為目前高端手機的標配,特別是蘋果也支持防水之后,國產大多數高端旗艦手機都已經支持防水。雖然我們真的不會故意把手機放入水中,但是有了防水之后,用戶心里會多一重安全感。那么近日最為火熱的小米6防水嗎?小米6的防水級別又是多少呢? 小編查詢了很多資料發(fā)現,小米6確實是防水的,但是為了保持低調,同時為了不被別人說防水等級不夠,很多資料都沒有標注小米是否防水。根據評測資料顯示,小米6是支持IP68級的防水,是絕對能夠滿足日常生活中的防水需求的。
Answer: IP68級
Question:[OUTPUT]小米6防水級別</s>
[LABELS]小米6防水等級
--------------------------------------------------
[PROMPT]<s> Task: Question Generation
Context: 爬行墊根據中間材料的不同可以分為:XPE爬行墊、EPE爬行墊、EVA爬行墊、PVC爬行墊;其中XPE爬行墊、EPE爬行墊都屬于PE材料加保鮮膜復合而成,都是無異味的環(huán)保材料,但是XPE爬行墊是品質較好的爬行墊,韓國進口爬行墊都是這種爬行墊,而EPE爬行墊是國內廠家為了減低成本,使用EPE(珍珠棉)作為原料生產的一款爬行墊,該材料彈性差,易碎,開孔發(fā)泡防水性弱。EVA爬行墊、PVC爬行墊是用EVA或PVC作為原材料與保鮮膜復合的而成的爬行墊,或者把圖案轉印在原材料上,這兩款爬行墊通常有異味,如果是圖案轉印的爬行墊,油墨外露容易脫落。 當時我兒子爬的時候,我們也買了墊子,但是始終有味。最后就沒用了,鋪的就的薄毯子讓他爬。
Answer: XPE
Question:[OUTPUT]爬行墊什么材質好</s>
[LABELS]爬行墊什么材質的好
文章來源:http://www.zghlxwxcb.cn/news/detail-858964.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-858964.html
用通俗易懂的方式講解系列
- 用通俗易懂的方式講解:不用再找了,這是大模型最全的面試題庫
- 用通俗易懂的方式講解:這是我見過的最適合大模型小白的 PyTorch 中文課程
- 用通俗易懂的方式講解:一文講透最熱的大模型開發(fā)框架 LangChain
- 用通俗易懂的方式講解:基于 LangChain + ChatGLM搭建知識本地庫
- 用通俗易懂的方式講解:基于大模型的知識問答系統全面總結
- 用通俗易懂的方式講解:ChatGLM3 基礎模型多輪對話微調
- 用通俗易懂的方式講解:最火的大模型訓練框架 DeepSpeed 詳解來了
- 用通俗易懂的方式講解:這應該是最全的大模型訓練與微調關鍵技術梳理
- 用通俗易懂的方式講解:Stable Diffusion 微調及推理優(yōu)化實踐指南
- 用通俗易懂的方式講解:大模型訓練過程概述
- 用通俗易懂的方式講解:專補大模型短板的RAG
- 用通俗易懂的方式講解:大模型LLM Agent在 Text2SQL 應用上的實踐
- 用通俗易懂的方式講解:大模型 LLM RAG在 Text2SQL 上的應用實踐
- 用通俗易懂的方式講解:大模型微調方法總結
- 用通俗易懂的方式講解:漲知識了,這篇大模型 LangChain 框架與使用示例太棒了
- 用通俗易懂的方式講解:掌握大模型這些優(yōu)化技術,優(yōu)雅地進行大模型的訓練和推理!
- 用通俗易懂的方式講解:九大最熱門的開源大模型 Agent 框架來了
到了這里,關于Mistral 7B v0.2 基礎模型開源,大模型微調實踐來了的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!