|
|
--- |
|
|
license: mit |
|
|
language: |
|
|
- ja |
|
|
- en |
|
|
base_model: |
|
|
- sbintuitions/sarashina2.2-3b-instruct-v0.1 |
|
|
- DataPilot/ArrowNeo-Neko-3B-coder |
|
|
- DataPilot/ArrowNeo-Neko-3B-Instruct-v0.1 |
|
|
- DataPilot/ArrowNeo-Neko-3B-Instruct-v0.2 |
|
|
pipeline_tag: text-generation |
|
|
datasets: |
|
|
- Nurture-intelligence/ins_dataset |
|
|
--- |
|
|
|
|
|
# DataPilot/ArrowNeo-AME-3x4B-v0.1-MoE |
|
|
|
|
|
## overview |
|
|
|
|
|
このモデルはAItuberの魂となることを目的にSB intuitionsの[sarashina-2.2-instruct-v0.1](https://huggingface.co/sbintuitions/sarashina2.2-3b-instruct-v0.1)をベースにUnsothとMergekit-MoEを用いて作られました。 |
|
|
|
|
|
一つのベースモデルと3つのエキスパートモデル(専門家モデル)を合わせたモデルです。 |
|
|
|
|
|
エキスパートモデルは以下の3つのモデルです。3つのモデルはUnslothと合成データを用いて作られました。 |
|
|
|
|
|
・ コーディング特化モデル([ArrowNeo-Neko-3B-coder](https://huggingface.co/DataPilot/ArrowNeo-Neko-3B-coder)) |
|
|
・ プロンプト追従性能を高めたモデル([ArrowNeo-Neko-3B-Instruct-v0.1](https://huggingface.co/DataPilot/ArrowNeo-Neko-3B-Instruct-v0.1)) |
|
|
・ マルチターン性能を高めたモデル([ArrowNeo-Neko-3B-Instruct-v0.2](https://huggingface.co/DataPilot/ArrowNeo-Neko-3B-Instruct-v0.2)) |
|
|
|
|
|
AItuberの魂には"マルチターン性能"・"プロンプト追従性能"・"軽量さ"が求められています。求められている性能を発揮するために上記のモデルを制作し、マージしました。 |
|
|
マージにはMergekit-MoEを用いることで動作の軽快さとパラメータ数を両立することができました。 |
|
|
|
|
|
## How to use |
|
|
|
|
|
以下のコードでこのモデルを動かすことができます。 |
|
|
```python |
|
|
import torch |
|
|
from transformers import AutoModelForCausalLM, AutoTokenizer, pipeline, set_seed |
|
|
|
|
|
# モデルのロード |
|
|
model_name = "DataPilot/ArrowNeo-AME-3x4B-v0.1-MoE" |
|
|
model = AutoModelForCausalLM.from_pretrained(model_name, torch_dtype=torch.bfloat16, device_map="auto") |
|
|
tokenizer = AutoTokenizer.from_pretrained(model_name) |
|
|
chat_pipeline = pipeline("text-generation", model=model, tokenizer=tokenizer) |
|
|
set_seed(123) |
|
|
|
|
|
# ユーザーの入力 |
|
|
user_input = [{"role": "user", "content": "こんにちは。Pythonを用いてstrawberryのRをカウントするコードを書いて下さい。"}] |
|
|
|
|
|
# モデルによる応答生成 |
|
|
responses = chat_pipeline( |
|
|
user_input, |
|
|
max_length=50, |
|
|
do_sample=True, |
|
|
num_return_sequences=2, |
|
|
) |
|
|
|
|
|
# 応答を表示 |
|
|
for i, response in enumerate(responses, 1): |
|
|
print(f"Response {i}: {response['generated_text']}") |
|
|
``` |
|
|
|
|
|
## Limitations |
|
|
|
|
|
このモデルには、安全トレーニングが制限されています。 |
|
|
したがって、いくつかの無意味なシーケンス、いくつかの不正確なインスタンス、または偏った/不快な出力を生成する可能性があります。 |
|
|
使用する前に、開発者は人間の好みと安全上の考慮事項に基づいてモデルを調整していただきたいと思います。 |
|
|
|
|
|
## License |
|
|
|
|
|
MIT license |
|
|
このモデルのライセンスは[元モデルのライセンス](https://huggingface.co/sbintuitions/sarashina2.2-3b-instruct-v0.1/blob/main/LICENSE)に準拠します。 |