Minillm 0.2B WithWudao
MiniLLMはbert4torchフレームワークで開発された軽量中国語言語モデルで、事前学習から命令ファインチューニングまでの全プロセスをカバーし、基本的な対話能力を備えています
ダウンロード数 127
リリース時間 : 4/25/2025
モデル概要
12層Transformer構造の軽量中国語言語モデルで、事前学習とAlpaca命令ファインチューニングを経ており、基本的な対話シナリオに適しています
モデル特徴
全プロセストレーニング
事前学習→命令ファインチューニング→報酬モデリング→強化学習の全プロセスを完全実装
軽量で効率的
12層Transformer構造で、単一GPU(17GB VRAM)でファインチューニング可能
フレームワーク互換
トレーニングにはbert4torchフレームワークを使用し、推論はtransformersと互換性があります
モデル能力
中国語テキスト生成
基本的な対話インタラクション
命令追従
使用事例
インテリジェントアシスタント
日常的なQ&A
日常生活に関連する質問に答える
常識に基づいた短い回答を生成
🚀 MiniLLM
本プロジェクトは小規模なパラメータを持つ大規模言語モデル(LLM)を構築することを目的としています。事前学習
-> 命令微調整
-> 報酬モデル
-> 強化学習
の4つの段階を完了し、制御可能なコストで簡単なチャットタスクを実行できるチャットモデルを完成させます。
🚀 クイックスタート
環境のインストール
pip install bert4torch==0.4.9.post2 # 見つからない場合は -i https://pypi.org/simple を指定
スクリプトの説明
# terminalが閉じられるのを防ぐために、nohup, tmux, screenなどの方法で起動できます
# eg. nohup torchrun --standalone --nproc_per_node=4 pretrain.py --name baby > nohup.log&
# 事前学習
cd pretrain
torchrun --standalone --nproc_per_node=4 pretrain.py # 一部の場合、ddp訓練中にクラッシュすることがあります。`export NCCL_IB_DISABLE=1` を設定する必要があります
# 事前学習の推論(コマンドラインチャット)
cd pretrain
python infer.py # python infer_transformers.py
# 命令微調整の訓練
cd sft
python sft.py
# 命令微調整の推論(コマンドラインチャット)
cd sft
python infer.py # python infer_transformers.py
# ckptをtransformersで実行可能な形式に変換
cd docs
python convert.py
✨ 主な機能
- bert4torch 訓練フレームワークを使用しており、コードが簡潔で効率的です。
- 訓練されたチェックポイントは
transformers
パッケージを使用して直接推論できます。 - 訓練時のメモリ使用量を最適化しています。
- 完全な訓練ログを提供し、再現性の比較に利用できます。
📚 ドキュメント
事前学習
事前学習のコーパス(baby-llama2-chinese から取得)
中国語の事前学習コーパス | 説明 |
---|---|
Wiki中国語百科 | 中国語のWikipediaデータ |
BaiduBaiKe パスワード: bwvb | 中国語の百度百科データ |
C4_zh:part1 パスワード:zv4r;C4_zh:part2 パスワード:sb83;C4_zh:part3 パスワード:l89d | C4は利用可能な最大の言語データセットの1つで、インターネット上の365 millionを超えるドメインから収集された156 billionを超えるトークンが含まれています。C4_zhはその一部です |
WuDaoCorpora | 中国語の悟道がオープンソースで提供する200GBのデータ |
shibing624/medical | shibing624からの一部の医学分野の事前学習データ |
プロジェクトでは、ChatGLM2 - 6Bのトークナイザーで処理された事前学習コーパスをオープンソース化しており、合計634億トークンのデータ量です。リンクは以下の通りです:Corpus パスワード:6unr。
事前学習の重み
事前学習の重み | 事前学習のコーパス | ダウンロード先 |
---|---|---|
MiniLLM - L12_H1024_A8 - NoWudao | (140億トークン) Wiki中国語百科、BaiduBaiKe、hibing624/medical、C4_zh |
百度网盘, HuggingFace |
MiniLLM - L12_H1024_A8 - WithWudao | (640億トークン) Wiki中国語百科、BaiduBaiKe、shibing624/medical、C4_zh、WuDaoCorpora |
百度网盘, HuggingFace |
事前学習の過程
- 訓練パラメータの設定と訓練時間
重み | 事前学習の設定 | ハードウェア使用量と訓練時間 |
---|---|---|
MiniLLM - L12_H1024_A8 - NoWudao | 140億トークン; btz = 32 * 4gpu; lr = 3e - 4; warmup_steps = 5000 | 4×A800(80G)、単一GPUの使用量約60G、所要時間20時間 |
MiniLLM - L12_H1024_A8 - WithWudao | 640億トークン; btz = 32 * 4gpu; lr = 1.5e - 4; warmup_steps = 5000 | ✅ 4×A800(80G)、単一GPUの使用量約60G、所要時間3.79日 ✅ baby - llama2プロジェクトでは2×4090、所要時間26日 ✅ 個人テストでは単一GPUでbtz = 8の場合、GPU使用量約17G、所要時間不明(勾配累積を使用することでさらに使用量を削減できます) |
事前学習モデルの呼び出し
# 以下の2行はネットワーク状況に応じて追加してください
import os
os.environ['HF_ENDPOINT'] = "https://hf-mirror.com"
from transformers import AutoTokenizer, LlamaForCausalLM
import torch
device = 'cuda' if torch.cuda.is_available() else 'cpu'
model_name = 'Tongjilibo/MiniLLM-L12_H1024_A8-WithWudao' # 'Tongjilibo/MiniLLM-L12_H1024_A8-NoWudao'
tokenizer = AutoTokenizer.from_pretrained(model_name, trust_remote_code=True)
model = LlamaForCausalLM.from_pretrained(model_name).to(device)
query = '王鹏是一名'
inputs = tokenizer.encode(query, return_tensors='pt', add_special_tokens=False).to(device)
output_ids = model.generate(inputs)
response = tokenizer.decode(output_ids[0].cpu(), skip_special_tokens=True)
print(response)
事前学習の続き生成結果
- MiniLLM - L12_H1024_A8 - NoWudao
ユーザー:小明学习优异、身体健康、是一名
続き:小明学习优异、身体健康、是一名优秀的大连理工大学学生,从大学一年级起,他就对体育十分痴迷,成绩名列前茅,还参加了多项比赛,在全校体育活动中,他成绩名列前茅,被大连理工大学授予“优秀运动员”称号。
2006年,高中二年级,小明的同学杨帆来到大连理工大学,他决心要改变自己的命运。他每天放学后,都会跑到操场上练习篮球,练到下午三点多钟时,小明的篮球技术开始显现出来,他的篮球动作敏捷,力量大,而且,他经常利用空档时间练习跳投
ユーザー:床前明月光,疑是地上霜。举头望明月,
続き:床前明月光,疑是地上霜。举头望明月,低头思故乡……”
我读着这些诗句时也倍感亲切和亲切了!
- MiniLLM - L12_H1024_A8 - WithWudao
ユーザー:小明学习优异、身体健康、是一名
続き:小明学习优异、身体健康、是一名优秀的教师。他为人诚实、有责任心。在课堂上,他能认真听讲,积极思考,对每节课都积极举手发言。在课后,他主动要求帮助老师,认真做好作业,按时完成老师布置的作业,受到同学们的好评。
ユーザー:床前明月光,疑是地上霜。举头望明月,
続き:床前明月光,疑是地上霜。举头望明月,低头思故乡。”这诗不仅描述了中秋夜月夜的温馨与宁静,还写出了作者对故土深情的眷恋和思乡之情。“月上柳梢头”一语,是写月下所见。“欲将心事付瑶琴”,指欲诉别情; “举头望明月”,写中秋之夜,月上高挂、皓月当空、群星闪耀的景象;“低头思故乡”,写思念故土的深情厚意。
这首诗在写作手法上,主要运用象征
命令微調整
命令微調整のコーパス(選択された利用可能なデータセット)
データセット名 | 説明 |
---|---|
[shibing624/alpaca - zh](https://huggingface.co/datasets/shibing624/alpaca - zh) | Alpaca方法を参考に、GPT4を基に生成されたself - instructデータ、約5万件 |
BelleGroup/Belle - 0.5M - cn | BELLEプロジェクトによって生成された約50万件の中国語命令データ |
BelleGroup/Belle - 1M - cn | BELLEプロジェクトによって生成された約100万件の中国語命令データ |
BelleGroup/Belle - school_math_0.25M | Belleが公開した0.25Mの数学命令データセット |
BelleGroup/Belle - multiturn_chat_0.8M | Belleが公開した0.8Mの多ターンタスク対話データセット |
[YeungNLP/firefly - train - 1.1M](https://huggingface.co/datasets/YeungNLP/firefly - train - 1.1M) | 流螢の23種類の一般的な中国語NLPタスクのデータで、多くの中華文化関連のデータ(対聯、詩作、文言文翻訳、散文、金庸小説など)が構築されています。各タスクについて、人工的にいくつかの命令テンプレートが作成され、データの高品質と豊富さが保証されています。データ量は115万件 |
[fnlp/moss - 002 - sft - data](https://huggingface.co/datasets/fnlp/moss - 002 - sft - data) | MOSS - 002で使用される多ターン対話データで、有用性、忠実性、無害性の3つのレベルをカバーしています。text - davinci - 003によって生成された約57万件の英語対話と59万件の中国語対話が含まれています |
[fnlp/moss - 003 - sft - data](https://huggingface.co/datasets/fnlp/moss - 003 - sft - data) | moss - moon - 003 - sftで使用される多ターン対話データで、MOSS - 002の内部テスト段階で収集された約10万件のユーザー入力データとgpt - 3.5 - turboを基に構築されています。moss - 002 - sft - dataと比較して、moss - 003 - sft - dataはより実際のユーザー意図の分布に合致しており、より細かい有用性のカテゴリーラベル、より広範な無害性データ、より長い対話ターン数が含まれており、約110万件の対話データが含まれています |
shareAI/CodeChat | 主に論理推論、コード質問、コード生成に関連するコーパスサンプルが含まれています。 |
[shareAI/ShareGPT - Chinese - English - 90k](https://huggingface.co/datasets/shareAI/ShareGPT - Chinese - English - 90k) | 中国語と英語の平行バイリンガルの高品質な人機対話データセットで、実際の複雑なシナリオでのユーザーの質問をカバーしています。 |
[deepctrl/deepctrl - sft - data](https://www.modelscope.cn/datasets/deepctrl/deepctrl - sft - data/summary) | 匠数大模型SFTデータセットは、匠数科技によって精心に収集・整理された高品質なデータセットで、1000万件のデータを含む中国語データセットと200万件のデータを含む英語データセットがあります。 |
命令微調整の重み
命令微調整の重み | コーパス | ダウンロード先 |
---|---|---|
MiniLLM - L12_H1024_A8 - WithWudao - SFT_Alpaca | [shibing624/alpaca - zh](https://huggingface.co/datasets/shibing624/alpaca - zh) | 百度网盘, HuggingFace |
命令微調整の訓練過程
- 訓練パラメータの設定と訓練時間
重み | 事前学習の設定 | ハードウェア使用量と訓練時間 |
---|---|---|
MiniLLM - L12_H1024_A8 - NoWudao | [shibing624/alpaca - zh](https://huggingface.co/datasets/shibing624/alpaca - zh)データセット; btz = 8; lr = 2e - 5; 5エポック | 単一GPUの4090、VRAM 17GB、所要時間45分 |
命令微調整モデルの呼び出し
# 以下の2行はネットワーク状況に応じて追加してください
import os
os.environ['HF_ENDPOINT'] = "https://hf-mirror.com"
from transformers import AutoTokenizer, LlamaForCausalLM
import torch
device = 'cuda' if torch.cuda.is_available() else 'cpu'
model_name = 'Tongjilibo/MiniLLM-L12_H1024_A8-WithWudao-SFT_Alpaca'
tokenizer = AutoTokenizer.from_pretrained(model_name, trust_remote_code=True)
model = LlamaForCausalLM.from_pretrained(model_name).to(device)
query = '你好'
query = f'<human>{query}<robot>'
inputs = tokenizer.encode(query, return_tensors='pt', add_special_tokens=False).to(device)
output_ids = model.generate(inputs)
response = tokenizer.decode(output_ids[0].cpu(), skip_special_tokens=True)[len(query):]
print(response)
命令微調整のチャット結果
- MiniLLM - L12_H1024_A8 - WithWudao - SFT_Alpaca
ユーザー:你好
応答:你好!很高兴见到你。
ユーザー:你能做什么?
応答:你好!我是一个人工智能助手,有什么我可以为你做的吗?
ユーザー:番茄炒蛋怎么制作?
応答:如果你想要制作一个番茄炒蛋,那么下面这些步骤可能会帮助你:
1. 准备食材:准备好鸡蛋、盐、香菜、胡萝卜丝、黄瓜丝等食材。
2. 清洗鸡蛋:在搅拌碗中打散鸡蛋,使其表面可以清洁。
3. 准备材料:准备一个锅,倒入适量的水,将鸡蛋液倒入锅中。
4. 煮鸡蛋:用汤锅或锅煎至鸡蛋表面金黄色,熟透即可。
5. 炒蔬菜:在锅中加入适量的油,将胡萝卜丝和黄瓜丝个人喜欢的,翻炒几下,直到胡萝卜熟透。
6. 加入鸡蛋:从锅中取出鸡蛋,倒入锅中。
7. 调味:将炒好的鸡蛋倒入锅中,与蔬菜一起翻炒几下即可。
注意:想要炒出更丰富的蔬菜味道,可以适当加入适量的盐和香菜,增加风味。
📄 ライセンス
本プロジェクトはApache License 2.0の下で公開されています。
Phi 2 GGUF
その他
Phi-2はマイクロソフトが開発した小型ながら強力な言語モデルで、27億のパラメータを持ち、効率的な推論と高品質なテキスト生成に特化しています。
大規模言語モデル 複数言語対応
P
TheBloke
41.5M
205
Roberta Large
MIT
マスク言語モデリングの目標で事前学習された大型英語言語モデルで、改良されたBERTの学習方法を採用しています。
大規模言語モデル 英語
R
FacebookAI
19.4M
212
Distilbert Base Uncased
Apache-2.0
DistilBERTはBERT基礎モデルの蒸留バージョンで、同等の性能を維持しながら、より軽量で高効率です。シーケンス分類、タグ分類などの自然言語処理タスクに適しています。
大規模言語モデル 英語
D
distilbert
11.1M
669
Llama 3.1 8B Instruct GGUF
Meta Llama 3.1 8B Instructは多言語大規模言語モデルで、多言語対話ユースケースに最適化されており、一般的な業界ベンチマークで優れた性能を発揮します。
大規模言語モデル 英語
L
modularai
9.7M
4
Xlm Roberta Base
MIT
XLM - RoBERTaは、100言語の2.5TBのフィルタリングされたCommonCrawlデータを使って事前学習された多言語モデルで、マスク言語モデリングの目標で学習されています。
大規模言語モデル 複数言語対応
X
FacebookAI
9.6M
664
Roberta Base
MIT
Transformerアーキテクチャに基づく英語の事前学習モデルで、マスク言語モデリングの目標を通じて大量のテキストでトレーニングされ、テキスト特徴抽出と下流タスクの微調整をサポートします。
大規模言語モデル 英語
R
FacebookAI
9.3M
488
Opt 125m
その他
OPTはMeta AIが公開したオープンプリトレーニングトランスフォーマー言語モデルスイートで、パラメータ数は1.25億から1750億まであり、GPT-3シリーズの性能に対抗することを目指しつつ、大規模言語モデルのオープンな研究を促進するものです。
大規模言語モデル 英語
O
facebook
6.3M
198
1
transformersライブラリに基づく事前学習モデルで、様々なNLPタスクに適用可能
大規模言語モデル
Transformers

1
unslothai
6.2M
1
Llama 3.1 8B Instruct
Llama 3.1はMetaが発表した多言語大規模言語モデルシリーズで、8B、70B、405Bのパラメータ規模を持ち、8種類の言語とコード生成をサポートし、多言語対話シーンを最適化しています。
大規模言語モデル
Transformers 複数言語対応

L
meta-llama
5.7M
3,898
T5 Base
Apache-2.0
T5ベーシック版はGoogleによって開発されたテキスト-to-テキスト変換Transformerモデルで、パラメータ規模は2.2億で、多言語NLPタスクをサポートしています。
大規模言語モデル 複数言語対応
T
google-t5
5.4M
702
おすすめAIモデル
Llama 3 Typhoon V1.5x 8b Instruct
タイ語専用に設計された80億パラメータの命令モデルで、GPT-3.5-turboに匹敵する性能を持ち、アプリケーションシナリオ、検索拡張生成、制限付き生成、推論タスクを最適化
大規模言語モデル
Transformers 複数言語対応

L
scb10x
3,269
16
Cadet Tiny
Openrail
Cadet-TinyはSODAデータセットでトレーニングされた超小型対話モデルで、エッジデバイス推論向けに設計されており、体積はCosmo-3Bモデルの約2%です。
対話システム
Transformers 英語

C
ToddGoldfarb
2,691
6
Roberta Base Chinese Extractive Qa
RoBERTaアーキテクチャに基づく中国語抽出型QAモデルで、与えられたテキストから回答を抽出するタスクに適しています。
質問応答システム 中国語
R
uer
2,694
98