はじめに
Qwen2.5は、Qwen大規模言語モデルの最新シリーズです。Qwen2.5では、0.5から72億パラメータまでのベース言語モデル以及指示調整言語モデルの数多くのリリースを行っています。Qwen2.5はQwen2に対して以下の改善をもたらしています:
- 私たちのこれらの分野の専門家モデルにより、コーディングおよび数学において大幅に向上した能力以及より多くの知識を持ち、多くの分野で専門家モデルが存在します。
- 指示に従う能力、8Kトークン以上の長いテキストの生成、構造化データ(例:テーブル)の理解、特にJSON形式の出力生成において顕著著な改善。システムプロンプトの多様性に対してもより強固く、チャットボットの役割プレイ実装以及条件設定が強化されています。
- 長いコンテキストのサポートは最大128Kトークンまで、8Kトークンまで生成可能です。
- 29以上の多言語をサポートしています。中国語、英語、フランス語、スペイン語、ポルトガル語、ドイツ語、イタリア語、ロシア語、日本語、韓国語、ベトナム語、タイ語、アラビア語などを含む。
このレポは、以下の機能を持つ指示調整された7B Qwen2.5モデルを含んでいます:
- タイプ:因果言語モデル
- トレーニング段階:事前トレーニング&事後トレーニング
- アーキテクチャ:RoPE、SwiGLU、RMSNorm、Attention QKVバイアスを備えたトランスフォーマー
- パラメータ数:7.61B
- パラメータ数(埋め込み除く):6.53B
- レイヤー数:28
-
注意ヘッド数(GQA):Qは28、KVは4
- コンテキスト長:全131,072トークン、生成は8192トークン
詳細な手順については、Qwen2.5をデプロイメントして長いテキストを処理する方法については、こちらのセクションをご覧ください。 詳細については、私たちのブログ、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 = "大規模言語モデル에 대해 짧은 소개를 해주세요."
messages = [
{"role": "system", "content": "あなたはアリババクラウドによって作成されたQwenです。あなたは役立つアシスタントです。"},
{"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スピーキング
ドルフィンAIは言語学習アプリケーションのためのプロフェッショナルな発音評価API(pronunciation assessment api)ソリューションを提供します。音素、単語、文章、チャプター、発音矯正、単語矯正、クイズ、フリーダイアログ、多肢選択問題など幅広く提供しています。当社の発音評価製品(pronunciation assessment)は、英語と中国語、クラウドAPI、オンプレミス、オフラインデバイスの展開をサポートしています。当社の発音評価API(pronunciation assessment api)は、正確性、流暢性、完全性、リズムの次元をカバーする豊富な評価指標を提供し、音素、単語、文の異なるレベルの評価スコアも提供します。また、音素、単語、文の異なるレベルでの評価スコアも提供します。数千万人のユーザーに安定した効率的で安全なサービスを提供しています。ドルフィンAIの発音評価製品(pronunciation assessment)を試してみませんか?