🚀 Alpha-Instruct
私たちは、韓国語と英語の両方で卓越した能力を発揮する最新の言語モデル「Alpha-Instruct」をご紹介することを嬉しく思います。Alpha-Instructは「Evolutionary Model Merging」技術を用いて開発されており、複雑な言語タスクや論理的推論において優れた性能を発揮します。
Alpha-Instructの開発における重要な側面は、「コミュニティベースのアプローチ」です。様々なコミュニティからインスピレーションやアイデアを得て、データセット、手法、モデル自体を形成しています。そして、その見識をコミュニティと共有し、Alpha-Instructの作成に使用されたデータ、方法、モデルに関する詳細情報を提供することにコミットしています。
Alpha-Instructは「LogicKor」で6.62という印象的なスコアを獲得し、優れた性能を発揮しています。驚くべきことに、この性能は70Bモデルと匹敵するものであり、8Bモデルの効率とパワーを示しています。この成果は、Alpha-Instructの高度な計算能力と推論能力を際立たせ、多様で要求の高い言語タスクに最適な選択肢となっています。
Alpha-Instructに関する詳細情報と技術的な詳細については、更新情報をお待ちいただき、ウェブサイト(近日公開)をご訪問ください。
🚀 クイックスタート
Alpha-Instructは、韓国語と英語の両方で高い性能を発揮する最新の言語モデルです。「Evolutionary Model Merging」技術を用いて開発され、複雑な言語タスクや論理的推論において優れた能力を備えています。
✨ 主な機能
- 多言語対応:韓国語と英語の両方で高い性能を発揮します。
- 高度な推論能力:「LogicKor」で70Bモデルと匹敵する性能を示しています。
- コミュニティベースの開発:様々なコミュニティからのアイデアを取り入れ、データセットや手法を形成しています。
📦 インストール
インストールに関する具体的な手順は提供されていません。
💻 使用例
基本的な使用法
from transformers import AutoTokenizer, AutoModelForCausalLM
import torch
model_id = "allganize/Llama-3-Alpha-Ko-Instruct"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(
model_id,
torch_dtype="auto",
device_map="auto",
)
messages = [
{"role": "system", "content": "당신은 인공지능 어시스턴트입니다. 묻는 말에 친절하고 정확하게 답변하세요."},
{"role": "user", "content": "피보나치 수열이 뭐야? 그리고 피보나치 수열에 대해 파이썬 코드를 짜줘볼래?"},
]
input_ids = tokenizer.apply_chat_template(
messages,
add_generation_prompt=True,
return_tensors="pt"
).to(model.device)
terminators = [
tokenizer.eos_token_id,
tokenizer.convert_tokens_to_ids("<|eot_id|>")
]
outputs = model.generate(
input_ids,
max_new_tokens=512,
eos_token_id=terminators,
do_sample=False,
repetition_penalty=1.05,
)
response = outputs[0][input_ids.shape[-1]:]
print(tokenizer.decode(response, skip_special_tokens=True))
📚 ドキュメント
概要
Alpha-Instructは、「Evolutionary Model Merging」技術を用いて開発された最新の言語モデルです。この方法では、KoBESTとHaeraeのタスク固有のデータセットを1:1の比率で使用し、「Alpha-Ko-8B-Evo」という名前のモデルを作成しています。マージに使用されたモデルは以下の通りです。
Alpha-Instructを改良・強化するために、モデルの出力を「改善」するために精心に選ばれた高品質のデータセットを利用しています。この「改善」(RLHF)フェーズには、特にORPOを使用しています。使用されたデータセット*は以下の通りです。
*これらのデータセットの一部は、トレーニングのために部分的に使用され、翻訳されており、評価プロセス中に汚染がないことを確認しています。
このアプローチは、人間の好みとモデルの能力を効果的にバランスさせ、ユーザーの満足度と性能が同じくらい重要な実生活のシナリオに適したAlpha-Instructを作り出しています。
ベンチマーク結果
LogicKorでの結果は以下の通りです。
モデル |
シングルターン* |
マルチターン* |
全体* |
MLP-KTLim/llama-3-Korean-Bllossom-8B |
4.238 |
3.404 |
3.821 |
Alpha-Ko-Evo |
5.143 |
5.238 |
5.190 |
Alpha-Ko-Instruct (alt) |
7.095 |
6.571 |
6.833 |
Alpha-Ko-Instruct |
7.143 |
6.065 |
6.620 |
Alpha-Ko-Instruct-marlin (4bit) |
6.857 |
5.738 |
6.298 |
*自己報告('alpha'テンプレートのデフォルト設定、3回の平均)
KoBEST(acc、num_shot = 5)での結果は以下の通りです。
タスク |
beomi/Llama-3-Open-Ko-8B-Instruct |
maywell/Llama-3-Ko-8B-Instruct |
Alpha-Ko-Evo |
Alpha-Ko-Instruct |
kobest overall |
0.6220 |
0.6852 |
0.7229 |
0.7055 |
kobest_boolq |
0.6254 |
0.7208 |
0.8547 |
0.8369 |
kobest_copa |
0.7110 |
0.7650 |
0.7420 |
0.7420 |
kobest_hellaswag |
0.3840 |
0.4440 |
0.4220 |
0.4240 |
kobest_sentineg |
0.8388 |
0.9194 |
0.9471 |
0.9244 |
kobest_wic |
0.5738 |
0.6040 |
0.6095 |
0.5730 |
*参考までに、「マージされた」モデルが選択されています。
🔧 技術詳細
- 開発手法:Evolutionary Model Merging技術を用いて開発されています。
- データセット:KoBESTとHaeraeのタスク固有のデータセットを1:1の比率で使用しています。
- マージモデル:Meta-Llama-3-8B、Meta-Llama-3-8B-Instruct、Llama-3-Open-Ko-8Bを使用してマージしています。
- RLHFフェーズ:ORPOを使用してモデルの出力を改善しています。
📄 ライセンス
このモデルの使用は、META LLAMA 3 COMMUNITY LICENSE AGREEMENTに準拠しています。
謝辞
@beomiには、素晴らしいモデルを提供してくれたことに感謝します。
引用
このモデルを研究で使用する場合は、以下のように引用してください。
@misc{alpha-instruct,
author = {Ji soo Kim},
title = {Alpha-Instruct: Allganize Bilingual Model},
year = {2024},
publisher = {Hugging Face},
journal = {Hugging Face repository},
url = {https://huggingface.co/allganize/Llama-3-Alpha-Ko-8B-Instruct},
}