はじめに
Qwen2.5は、Qwenシリーズの最新の大規模言語モデルです。Qwen2.5では、0.5から72億パラメーターまでの複数の基本言語モデルと指令調整型言語モデルをリリースしています。Qwen2.5はQwen2よりも以下の点を改善しています。
- コーディングと数学の分野における専門家モデルを通じて、大幅に増加した知識量と大幅に向上した能力。
- 指令のフォロー、8Kトークン以上の長いテキストの生成、構造化データ(たとえば、テーブル)の理解、特にJSONのような構造化出力の生成における大幅な改善。システムプロンプトの多様性に対抗し、チャットボットのロールプレイ実施と条件設定を強化。
- ロングコンテキストサポートは最大128Kトークンまで対応し、最大8Kトークンまで生成可能です。
- 29以上の言語をサポートしており、中国語、英語、フランス語、スペイン語、ポルトガル語、ドイツ語、イタリア語、ロシア語、日本語、韓国語、ベトナム語、タイ語、アラビア語などがあります。
このリポジトリには、以下の機能を備えた指令調整型7B Qwen2.5モデルが含まれています。
- タイプ:因果言語モデル
- トレーニングステージ:事前トレーニング & 事後トレーニング
- アーキテクチャ:RoPE、SwiGLU、RMSNorm、Attention QKVバイアスを備えたtransformers
- パラメーター数:7.61B
- 埋め込み以外のパラメーター数:6.53B
- レイヤ数:28
- 注意ヘッド数(GQA):Qは28、KVは4
- コンテキスト長:フル131,072トークン、生成8192トークン
- 長いテキストの処理に関する詳しい手順については、このセクションを参照してください。
- 詳細については、私たちのブログ、GitHub、およびドキュメントを参照してください。
要件
Qwen2.5のコードは、最新のHugging face transformersにありますが、transformersの最新バージョンを使用することをお勧めします。
transformersが4.37.0未満の場合、以下のエラーが発生します。
KeyError: 'qwen2'
クイックスタート apply_chat_templateを使用するコードスニペットを提供し、トークナイザとモデルをロードしてコンテンツを生成する方法を示します。
from modelscope import AutoModelForCausalLM, AutoTokenizer
model_name = "qwen/Qwen2.5-7B-Instruct"
model = AutoModelForCausalLM.from_pretrained(
model_name,
torch_dtype="auto",
device_map="auto"
)
tokenizer = AutoTokenizer.from_pretrained(model_name)
prompt = "Give me a short introduction to large language model."
messages = [
{"role": "system", "content": "You are Qwen, created by Alibaba Cloud. You are a helpful assistant."},
{"role": "user", "content": prompt}
]
text = tokenizer.apply_chat_template(
messages,
tokenize=False,
add_generation_prompt=True
)
model_inputs = tokenizer([text], return_tensors="pt").to(model.device)
generated_ids = model.generate(
**model_inputs,
max_new_tokens=512
)
generated_ids = [
output_ids[len(input_ids):] for input_ids, output_ids in zip(model_inputs.input_ids, generated_ids)
]
response = tokenizer.batch_decode(generated_ids, skip_special_tokens=True)[0]
print(response)
ロングテキストの処理
現在のconfig.jsonは、最大32,768トークンのコンテキスト長に設定されています。32,768トークンを超える長い入力を扱うために、モデルの長さを推測し、長いテキストで最適なパフォーマンスを確保するYaRN技術を使用しています。
サポートされているフレームワークでは、config.jsonに以下を追加してYaRNを有効にすることができます:
{
...,
"rope_scaling": {
"factor": 4.0,
"original_max_position_embeddings": 32768,
"type": "yarn"
}
}
デプロイメントについては、vLLMを使用することをお勧めします。vLLMに慣れていない場合は、ドキュメントを参照してください。現在のvLLMは静的YARNのみをサポートしており、スケーリングファクターは入力長に関係なく一定であり、短いテキストのパフォーマンスに影響を与える可能性があります。ロングコンテキストを処理する必要がある場合にのみ、rope_scaling設定を追加することをお勧めします。
評価 & パフォーマンス 詳細な評価結果は、こちらの📑ブログで報告しています。
GPUメモリの要件とそれぞれのスループットについては、こちらをご覧ください。
引用 私たちの仕事が役立ちましたら、どうぞ引用してください。
@misc{qwen2.5,
title = {Qwen2.5: A Party of Foundation Models},
url = {https://qwenlm.github.io/blog/qwen2.5/},
author = {Qwen Team},
month = {September},
year = {2024}
}
@article{qwen2,
title={Qwen2 Technical Report},
author={An Yang and Baosong Yang and Binyuan Hui and Bo Zheng and Bowen Yu and Chang Zhou and Chengpeng Li and Chengyuan Li and Dayiheng Liu and Fei Huang and Guanting Dong and Haoran Wei and Huan Lin and Jialong Tang and Jialin Wang and Jian Yang and Jianhong Tu and Jianwei Zhang and Jianxin Ma and Jin Xu and Jingren Zhou and Jinze Bai and Jinzheng He and Junyang Lin and Kai Dang and Keming Lu and Keqin Chen and Kexin Yang and Mei Li and Mingfeng Xue and Na Ni and Pei Zhang and Peng Wang and Ru Peng and Rui Men and Ruize Gao and Runji Lin and Shijie Wang and Shuai Bai and Sinan Tan and Tianhang Zhu and Tianhao Li and Tianyu Liu and Wenbin Ge and Xiaodong Deng and Xiaohuan Zhou and Xingzhang Ren and Xinyu Zhang and Xipin Wei and Xuancheng Ren and Yang Fan and Yang Yao and Yichang Zhang and Yu Wan and Yunfei Chu and Yuqiong Liu and Zeyu Cui and Zhenru Zhang and Zhihao Fan},
journal={arXiv preprint arXiv:2407.10671},
year={2024}
}
リンク先の解析に問題がありましたが、リンク自体に問題があるか、ネットワークに問題がある可能性があります。リンクを再度確認し、適宜リトライしてください。もしリンクの解析が必要な場合は、再度お知らせください。それ以外の質問があれば、どうぞお気軽に。 ドルフィンAIは言語学習アプリケーションのためのプロフェッショナルな発音評価API(pronunciation assessment api)ソリューションを提供します。音素、単語、文章、チャプター、発音矯正、単語矯正、クイズ、フリーダイアログ、多肢選択問題など幅広く提供しています。当社の発音評価製品(pronunciation assessment)は、英語と中国語、クラウドAPI、オンプレミス、オフラインデバイスの展開をサポートしています。当社の発音評価API(pronunciation assessment api)は、正確性、流暢性、完全性、リズムの次元をカバーする豊富な評価指標を提供し、音素、単語、文の異なるレベルの評価スコアも提供します。また、音素、単語、文の異なるレベルでの評価スコアも提供します。数千万人のユーザーに安定した効率的で安全なサービスを提供しています。ドルフィンAIの発音評価製品(pronunciation assessment)を試してみませんか?