Saiga Llama3 8b
Llama-3 8B Instructをベースにしたロシア語チャットアシスタントで、ロシア語会話をサポートするために特別にトレーニングされています。
ダウンロード数 25.29k
リリース時間 : 4/18/2024
モデル概要
これはMetaのLlama-3 8B Instructモデルをベースに開発されたロシア語チャットアシスタントで、ロシア語会話に特化して最適化および微調整されています。
モデル特徴
ロシア語最適化
ロシア語会話に特化してトレーニングおよび最適化されており、流暢なロシア語コミュニケーションが可能です。
Llama-3ベース
強力なLlama-3 8B Instructモデルをベースとしており、優れた言語理解および生成能力を継承しています。
マルチターン会話サポート
複雑なマルチターン会話をサポートし、文脈を理解して一貫性のある応答が可能です。
モデル能力
ロシア語会話生成
Q&Aシステム
ストーリー創作
情報説明
使用事例
カスタマーサポートアシスタント
顧客問い合わせ対応
製品やサービスに関する様々な質問に回答
正確で友好的なロシア語回答を提供
教育支援
知識Q&A
学生からの様々な知識質問に回答
例にあるように「なぜ草は緑色なのか」を説明
コンテンツ創作
ストーリー生成
与えられた要素から完全なストーリーを創作
例にあるように「ターニャ」と「ボール」から創作したストーリー
🚀 Saiga/Llama3 8B、ロシア語のLlama-3ベースのチャットボット
このチャットボットはLlama-3 8B Instructをベースに構築されています。
Llama.cppのバージョン: リンク
Colab: リンク
🚀 クイックスタート
✨ 主な機能
このチャットボットは、ロシア語での会話をサポートし、ユーザーに様々な情報を提供して支援します。
📦 インストール
READMEにインストール手順が記載されていないため、このセクションは省略されます。
💻 使用例
基本的な使用法
# Исключительно ознакомительный пример.
# НЕ НАДО ТАК ИНФЕРИТЬ МОДЕЛЬ В ПРОДЕ.
# См. https://github.com/vllm-project/vllm или https://github.com/huggingface/text-generation-inference
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer, GenerationConfig
MODEL_NAME = "IlyaGusev/saiga_llama3_8b"
DEFAULT_SYSTEM_PROMPT = "Ты — Сайга, русскоязычный автоматический ассистент. Ты разговариваешь с людьми и помогаешь им."
model = AutoModelForCausalLM.from_pretrained(
MODEL_NAME,
load_in_8bit=True,
torch_dtype=torch.bfloat16,
device_map="auto"
)
model.eval()
tokenizer = AutoTokenizer.from_pretrained(MODEL_NAME)
generation_config = GenerationConfig.from_pretrained(MODEL_NAME)
print(generation_config)
inputs = ["Почему трава зеленая?", "Сочини длинный рассказ, обязательно упоминая следующие объекты. Дано: Таня, мяч"]
for query in inputs:
prompt = tokenizer.apply_chat_template([{
"role": "system",
"content": DEFAULT_SYSTEM_PROMPT
}, {
"role": "user",
"content": query
}], tokenize=False, add_generation_prompt=True)
data = tokenizer(prompt, return_tensors="pt", add_special_tokens=False)
data = {k: v.to(model.device) for k, v in data.items()}
output_ids = model.generate(**data, generation_config=generation_config)[0]
output_ids = output_ids[len(data["input_ids"][0]):]
output = tokenizer.decode(output_ids, skip_special_tokens=True).strip()
print(query)
print(output)
print()
print("==============================")
print()
📚 ドキュメント
プロンプトフォーマット
⚠️ 重要提示
バージョン4では、プロンプトフォーマットをChatMLから元のLlama-3フォーマットに変更しました。フォーマットを切り替えることを忘れないでください!
v4, v5, v6+: LLama-3プロンプトフォーマット:
<|begin_of_text|><|start_header_id|>system<|end_header_id|>
Ты — Сайга, русскоязычный автоматический ассистент. Ты разговариваешь с людьми и помогаешь им.<|eot_id|><|start_header_id|>user<|end_header_id|>
Как дела?<|eot_id|><|start_header_id|>assistant<|end_header_id|>
Отлично, а у тебя?<|eot_id|><|start_header_id|>user<|end_header_id|>
Шикарно. Как пройти в библиотеку?<|eot_id|><|start_header_id|>assistant<|end_header_id|>
v2, v3: ChatMLプロンプトフォーマット:
<|im_start|>system
Ты — Сайга, русскоязычный автоматический ассистент. Ты разговариваешь с людьми и помогаешь им.<|im_end|>
<|im_start|>user
Как дела?<|im_end|>
<|im_start|>assistant
Отлично, а у тебя?<|im_end|>
<|im_start|>user
Шикарно. Как пройти в библиотеку?<|im_end|>
<|im_start|>assistant
出力例
User: Почему трава зеленая?
Saiga: Трава выглядит зеленым из-за наличия в ней хлорофилла – пигмента, который помогает растениям поглощать солнечную энергию для процесса фотосинтеза.
Хлорофилл поглощает световые лучи с длиной волны 400-500 нанометров (ближе к синему) и отражает лучи с длиной волны 600-700 нанометров (ближе к красному), что делает его видимым как зеленый цвет.
Таким образом, зеленый цвет является результатом того, как хлорофилл взаимодействует со светом, обеспечивая растения необходимой энергии для роста и развития.
User: Сочини длинный рассказ, обязательно упоминая следующие объекты. Дано: Таня, мяч
Saiga: В небольшой деревушке под открытым небом жила девочка по имени Таня. Она была очень активной и любящей играть в различные виды спорта. Однажды, когда она прогуливалась по полям, увидела на земле лежащий мяч. Это был старый, но все еще пригодный для игры мячик.
Таня сразу же решила взять его себе домой и показать своему другу Мише. Мишка тоже обожал футбол и всегда рад был бы провести время вместе со своими друзьями. Когда они вернулись домой, Таня показала ему найденный мячик и предложила сыграть в футбол.
Мишка был счастлив, что у них появился новый мяч, и они сразу же начали готовиться к матчу. Они построили две команды и начали игру. Играли они до вечера, а потом решили сделать перерыв и приготовить ужин.
После ужина они продолжили игру, теперь уже с большим энтузиазмом и страстью. В конце концов, победителем стала команда Тани, которая забила больше голов. Все закончилось веселым праздником и хорошими воспоминаниями о проведенном времени.
На следующий день Таня и Миша решили пригласить своих других друзей на игру. Они собрали всех в одном месте и провели ещё один захватывающий матч. Этот день также стал незабываемым благодаря новому мячу, который принес так много радости и улыбок.
Итак, этот маленький мяч, который Таня нашла на поле, стал не просто предметом для игр, но и символом дружбы и веселья между детьми. Он помог им создать незабываемые моменты и укрепил их отношения.
バージョン情報
v7:
- 17e1bcc9c6d3e31852a95a168f7d3778f395cd2a
- 別名: saiga_llama3_8b_abliterated_sft_m11_d7_kto_m7_d7
- SFTデータセット設定: sft_d7.json
- SFTモデル設定: saiga_llama3_8b_sft_m11.json
- KTOデータセット設定: pref_d7.json
- KTOモデル設定: saiga_llama3_8b_kto_m7.json
- SFT wandb: リンク
- KTO wandb: リンク
v6:
- b662833f247ca04f1843b356e7ff3ee4aef8086a
- 別名: saiga_llama3_8b_sft_m10_d1_kto_m2_d2
- SFTデータセット設定: sft_d1.json
- SFTモデル設定: saiga_llama3_8b_sft_m10.json
- KTOデータセット設定: pref_d2.json
- KTOモデル設定: saiga_llama3_8b_kto_m2.json
- SFT wandb: リンク
- KTO wandb: リンク
v5:
- d947b00c56683cd4b2f7ce707edef89318027be4
- v4に対するKTOチューニング、データセット: lmsys_clean_ru_preferences
- wandb リンク
v4:
- 1cc945d4ca2c7901cf989e7edaac52ab24f1a7dd
- データセット: saiga_scored、スコア >= 8、c66032920556c0f21bbbed05e7e04433ec954c3d
- wandb リンク
v3:
- c588356cd60bdee54d52c2dd5a2445acca8aa5c3
- データセット: saiga_scored、スコア >= 8、d51cf8060bdc90023da8cf1c3f113f9193d6569b
- wandb リンク
v2:
- ae61b4f9b34fac9856d361ea78c66284a00e4f0b
- データセットコードのリビジョン d0d123dd221e10bb2a3383bcb1c6e4efe1b4a28a
- wandb リンク
- 5つのデータセット: ru_turbo_saiga, ru_sharegpt_cleaned, oasst1_ru_main_branch, gpt_roleplay_realm, ru_instruct_gpt4
- データセットのマージスクリプト: create_short_chat_set.py
評価
- データセット: https://github.com/IlyaGusev/rulm/blob/master/self_instruct/data/tasks.jsonl
- フレームワーク: https://github.com/tatsu-lab/alpaca_eval
- 評価器: alpaca_eval_cot_gpt4_turbo_fn
Pivot: chatgpt_3_5_turbo
モデル | 長さ制御勝率 | 勝率 | 標準誤差 | 平均長 |
---|---|---|---|---|
chatgpt_4_turbo | 76.04 | 90.00 | 1.46 | 1270 |
chatgpt_3_5_turbo | 50.00 | 50.00 | 0.00 | 536 |
saiga_llama3_8b, v6 | 49.33 | 68.31 | 2.26 | 1262 |
sfr-iter-dpo | 49.11 | 74.94 | 2.13 | 1215 |
suzume | 49.05 | 71.57 | 2.20 | 1325 |
saiga_llama3_8b, v7 | 48.95 | 69.40 | 2.25 | 1266 |
saiga_llama3_8b, v5 | 47.13 | 66.18 | 2.31 | 1194 |
saiga_llama3_8b, v4 | 43.64 | 65.90 | 2.31 | 1200 |
saiga_llama3_8b, v3 | 36.97 | 61.08 | 2.38 | 1162 |
saiga_llama3_8b, v2 | 33.07 | 48.19 | 2.45 | 1166 |
saiga_mistral_7b | 23.38 | 35.99 | 2.34 | 949 |
Pivot: sfr
モデル | 長さ制御勝率 | 勝率 | 標準誤差 | 平均長 |
---|---|---|---|---|
sfr | 50.00 | 50.00 | 0.00 | 1215 |
saiga_llama3_8b, v7 | 48.95 | 49.16 | 2.46 | 1266 |
saiga_llama3_8b, v6 | 46.91 | 47.23 | 2.45 | 1262 |
suzume_8b | 43.69 | 48.19 | 2.46 | 1325 |
📄 ライセンス
このプロジェクトはllama3ライセンスの下で提供されています。
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