🚀 九州: 地球科学用オープン基礎言語モデル
九州は、地球科学分野に特化したオープンな基礎言語モデルです。大量の地球科学データから知識を抽出・統合し、地球科学の問題解決や科学的発見を加速することを目指しています。
🚀 クイックスタート
このセクションでは、九州モデルの基本的な使い方を説明します。まずはモデルのダウンロードから始めましょう。
✨ 主な機能
- 地球科学分野の知識を豊富に持ち、地球科学関連の質問に高精度に回答できます。
- 汎用的な言語理解能力も備えており、様々なベンチマークで優れた性能を発揮します。
- 独自の学習フレームワークとアルゴリズムを用いて訓練されており、限られた地球科学データを効率的に利用できます。
📦 インストール
九州モデルは、Hugging FaceやWisemodel、ModelScopeなどのプラットフォームからダウンロードできます。以下は各モデルのダウンロードリンクです。
💻 使用例
基本的な使用法
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM
device = torch.device("cuda:0") if torch.cuda.is_available() else torch.device("cpu")
model_path = "itpossible/JiuZhou-Instruct-v0.2"
tokenizer = AutoTokenizer.from_pretrained(model_path)
model = AutoModelForCausalLM.from_pretrained(model_path, torch_dtype=torch.bfloat16, device_map=device)
text = "What is geoscience?"
messages = [{"role": "user", "content": text}]
inputs = tokenizer.apply_chat_template(messages, return_tensors="pt").to(device)
outputs_id = model.generate(inputs, max_new_tokens=600, do_sample=True)
outputs = tokenizer.batch_decode(outputs_id, skip_special_tokens=True)[0]
print(outputs)
📚 ドキュメント
モデル性能
地球科学能力
九州モデルの性能をGeoBenchベンチマークを用いて評価しました。客観的なタスクでは、GPT-3.5を上回る性能を発揮しています。
主観的なタスクでは、6つの基準すべてでベースラインを上回るスコアを獲得しています。
#### 汎用能力
九州モデルの性能をC-Eval、CMMLU、MMLUの3つのベンチマークデータセットを用いて評価しました。他のLlamaやMistralモデルのバリアントと比較して、九州は優れた性能を示しています。
### モデル学習プロセス
#### 学習コーパス
コーパスは、5000万件の汎用文書と340万件の地球科学関連文書から構成されています。
#### 学習フレームワーク
本研究で提案された九州フレームワークを使用しています。
#### 二段階事前適応事前学習 (TSPT)
TSPTは、限られた地球科学データの利用効率を向上させ、LLMの継続事前学習における一部の技術的ボトルネックを克服します。TSPTと一段階学習アルゴリズムの違いは以下の通りです。
TSPTと一段階事前学習アルゴリズムの性能比較は以下の通りです。
### モデル学習コード
九州モデルの微調整には、[LLaMA-Factory](https://github.com/hiyouga/LLaMA-Factory)を使用しています。
プロジェクトのデプロイ
git clone https://github.com/THU-ESIS/JiuZhou.git
cd JiuZhou
pip install -e ".[torch,metrics]"
モデル学習
事前学習:
llamafactory-cli train examples/train_lora/JiuZhou_pretrain_sft.yaml
インストラクションチューニング:
llamafactory-cli train examples/train_lora/JiuZhou_lora_sft.yaml
微調整された九州モデルとチャットする:
llamafactory-cli chat examples/inference/JiuZhou_lora_sft.yaml
インストラクションチューニングされたLoRA重みを元の九州モデルの重みとマージする:
llamafactory-cli export examples/merge_lora/JiuZhou_lora_sft.yaml
📄 ライセンス
引用
@article{chen2024preparedllm,
author = {Chen, Zhou and Lin, Ming and Wang, Zimeng and Zang, Mingrun and Bai, Yuqi},
title = {PreparedLLM: Effective Pre-pretraining Framework for Domain-specific Large Language Models},
year = {2024},
journal = {Big Earth Data},
pages = {1--24},
doi = {10.1080/20964471.2024.2396159},
url = {https://doi.org/10.1080/20964471.2024.2396159}
}
謝辞