Google Colab で Shisa 7B を試す
「Google Colab」で「Shisa 7B」を試したので、まとめました。
1. Shisa 7B
「Shisa 7B」 ( shisa-7b-v1) は、合成データ駆動型アプローチを使用して、堅牢な英語機能を維持しながら強力な日本語パフォーマンスを達成することを目的とした、日英バイリンガル (JA/EN) の汎用チャット モデルです。
このモデルは Mistral 7Bベースで、Mistralのオリジナルトークナイザーよりも日本語で2倍以上効率的な、カスタムJAに最適化された拡張トークナイザーを備えています。ベースモデルは、主に日本のトークンを追加して8B用に事前学習しています。その後、「airoboros-3.1」を機械翻訳したもの、「ultrafeedback_binarized」で高得点を獲得したもの、そして新たに生成した「airoboros」データを直接使用してファインチューニングしています。
また、商用でも使用できる寛容な Apache 2.0 ライセンスの下で、ベースモデル、データセット、パイプラインコードをリリースします。
詳細な記事やプロセスの詳細をWikiに公開しています。
2. Shisa 7B のモデル
現在提供されている「Shisa 7B」のモデルは、次の2つです。
3. Colabでの実行
Colabでの実行手順は、次のとおりです。
(1) パッケージのインストール。
# パッケージのインストール
!pip install transformers accelerate bitsandbytes
(2) トークナイザーとモデルの準備。
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM, TextStreamer
# トークナイザーとモデルの準備
tokenizer = AutoTokenizer.from_pretrained(
"augmxnt/shisa-7b-v1",
use_fast=True
)
model = AutoModelForCausalLM.from_pretrained(
"augmxnt/shisa-7b-v1",
torch_dtype=torch.bfloat16 if torch.cuda.is_bf16_supported() else torch.float16,
device_map="auto"
)
(3) 推論の実行。
# プロンプトの準備
chat = [
{"role": "system", "content": "あなたはアニメファンです。"},
{"role": "user", "content": "まどか☆マギカでは誰が一番かわいい?"},
]
# 推論の実行
inputs = tokenizer.apply_chat_template(chat, add_generation_prompt=True, return_tensors="pt")
with torch.no_grad():
outputs = model.generate(
inputs.to(model.device),
pad_token_id=tokenizer.eos_token_id,
max_new_tokens=256,
temperature=0.3,
repetition_penalty=1.15,
top_p=0.95,
do_sample=True,
streamer=TextStreamer(tokenizer, skip_prompt=True),
)
4. 日本語データセットのレビュー
Shisaの開発にあたり、日本語データセットのレビューが行われました。
4-1. 日本語データセットのレビュー
既存の機械翻訳データセットの使用を完全に放棄し、独自の道を進むことにしました。
4-2. 翻訳データセットの作成
「GPT-4」は丁寧な/通常の音声レベルの日本語で非常に強く、翻訳に確実に使用できますが、そのスループットとコストが問題でした。「DeepL」「Google翻訳」「text-bison-32k」「gpt-4-0613」の間で多くの人間検証済み比較を行いました。
「text-bison-32k」は翻訳を迅速に生成するのに十分な安価かつ迅速に実行でき、特定の単純なアルゴリズムを使用して、潜在的に問題のある翻訳を修正するために「gpt-4」を使用することにしました。
関連
この記事が気に入ったらサポートをしてみませんか?