🚀 NB - GPT - J - 6B
NB - GPT - J - 6Bは、GPT - J 6Bをノルウェー語でファインチューニングしたモデルです。このトランスフォーマーモデルは、Ben WangのMesh Transformer JAXを使用して学習されています。「GPT - J」はモデルのクラスを指し、「6B」は学習可能なパラメータ数(60億個のパラメータ)を表します。
🚀 クイックスタート
このモデルは、AutoModelForCausalLM
機能を使用して簡単にロードできます。
from transformers import AutoTokenizer, AutoModelForCausalLM
tokenizer = AutoTokenizer.from_pretrained("NbAiLab/nb-gpt-j-6B")
model = AutoModelForCausalLM.from_pretrained("NbAiLab/nb-gpt-j-6B")
✨ 主な機能
- ノルウェー語の内部表現を学習し、下流タスクに有用な特徴を抽出できます。
- プロンプトからテキストを生成することが得意です。
📦 インストール
このセクションでは、モデルを使用するためのライブラリのインストールに関する情報は提供されていません。
💻 使用例
基本的な使用法
from transformers import AutoTokenizer, AutoModelForCausalLM
tokenizer = AutoTokenizer.from_pretrained("NbAiLab/nb-gpt-j-6B")
model = AutoModelForCausalLM.from_pretrained("NbAiLab/nb-gpt-j-6B")
📚 ドキュメント
モデルの説明
NB - GPT - J - 6Bは、GPT - J 6Bのノルウェー語でファインチューニングされたバージョンです。「GPT - J」はモデルのクラスを指し、「6B」は学習可能なパラメータ数(60億個のパラメータ)を表します。
ハイパーパラメータ |
値 |
\(n_{parameters}\) |
6053381344 |
\(n_{layers}\) |
28* |
\(d_{model}\) |
4096 |
\(d_{ff}\) |
16384 |
\(n_{heads}\) |
16 |
\(d_{head}\) |
256 |
\(n_{ctx}\) |
2048 |
\(n_{vocab}\) |
50257/50400† (GPT - 2/3と同じトークナイザー) |
位置エンコーディング |
Rotary Position Embedding (RoPE) |
RoPE次元 |
64 |
* 各レイヤーは、1つのフィードフォワードブロックと1つの自己注意ブロックで構成されています。
† 埋め込み行列のサイズは50400ですが、GPT - 2トークナイザーは50257個のエントリのみを使用します。
このモデルは、モデル次元が4096、フィードフォワード次元が16384の28層で構成されています。モデル次元は16のヘッドに分割され、各ヘッドの次元は256です。Rotary Position Embedding (RoPE) は、各ヘッドの64次元に適用されます。このモデルは、GPT - 2/GPT - 3と同じBPEセットを使用して、50257のトークン化語彙で学習されています。
学習データ
NB - GPT - J - 6Bは、NCC(ノルウェーの巨大コーパス)と、Wikipedia、mC4、OSCARなどの他のインターネットソースを使用してファインチューニングされました。
学習手順
このモデルは、TPU v3 - 8 VM上で100万ステップにわたって1300億トークンでファインチューニングされました。自己回帰型言語モデルとして学習され、次のトークンを正しく予測する尤度を最大化するために交差エントロピー損失を使用しました。
意図された使用法と制限
NB - GPT - J - 6Bは、ノルウェー語の内部表現を学習し、下流タスクに有用な特徴を抽出できます。ただし、このモデルは、プロンプトからテキストを生成することが最も得意です。
制限とバイアス
元のGPT - Jモデルと同様に、NB - GPT - J - 6Bの核心機能は、テキストの文字列を受け取り、次のトークンを予測することです。言語モデルはこれ以外のタスクにも広く使用されていますが、この作業には多くの未知の要素があります。NB - GPT - J - 6Bにプロンプトを与えるときは、統計的に最も可能性の高い次のトークンが必ずしも最も「正確」なテキストを生成するとは限らないことを覚えておくことが重要です。決してNB - GPT - J - 6Bに事実的に正確な出力を期待しないでください。
元のGPT - Jは、不適切な言葉や露骨な表現などを含むことが知られているThe Pileというデータセットで学習されています。使用ケースによっては、GPT - Jが社会的に受け入れられないテキストを生成する可能性があります。The Pileのバイアスに関する詳細な分析については、The Pile論文のセクション5と6を参照してください。ファインチューニングに使用されたコーパスに含まれるバイアスの詳細な分析はまだ行われていません。
すべての言語モデルと同様に、NB - GPT - J - 6Bが特定のプロンプトにどのように反応するかを事前に予測することは困難であり、不快な内容が突然出現する可能性があります。私たちは、出力を公開する前に人間がキュレーションまたはフィルタリングすることを推奨します。これにより、望ましくない内容を削除し、結果の品質を向上させることができます。
評価結果
私たちはまだこのモデルを評価する適切なデータセットを見つけていないので、ご協力をお願いします!
🔧 技術詳細
このセクションでは、詳細な技術的な説明は提供されていません。
📄 ライセンス
このモデルは、Apache - 2.0ライセンスの下で公開されています。
引用と関連情報
BibTeXエントリ
このモデルまたは使用されたコーパスを引用するには、次のようにしてください。
@inproceedings{kummervold2021operationalizing,
title={Operationalizing a National Digital Library: The Case for a Norwegian Transformer Model},
author={Kummervold, Per E and De la Rosa, Javier and Wetjen, Freddy and Brygfjeld, Svein Arne},
booktitle={Proceedings of the 23rd Nordic Conference on Computational Linguistics (NoDaLiDa)},
pages={20--29},
year={2021},
url={https://aclanthology.org/2021.nodalida-main.3/}
}
このモデルを使用した場合、私たちはそのことを知りたいです!Twitter、GitHub、Discordで連絡を取るか、メールを送ってください。
免責事項
このリポジトリに公開されているモデルは、一般的な目的で作成されており、第三者に利用可能です。これらのモデルにはバイアスやその他の望ましくない歪みが含まれている可能性があります。第三者がこれらのモデル(またはこれらのモデルに基づくシステム)を使用してシステムやサービスを展開または提供する場合、またはこれらのモデルのユーザーになる場合、彼らはその使用に起因するリスクを軽減し、いずれの場合も、人工知能の使用に関する規制を含む適用される規制に準拠する責任があります。いかなる場合も、モデルの所有者(ノルウェー国立図書館)は、第三者によるこれらのモデルの使用に起因する結果について責任を負いません。
謝辞
このプロジェクトは、GoogleがTPU Research Cloudを通じて提供してくれた計算資源、およびCloud TPU VM Alphaへの早期アクセスを提供してくれたCloud TPUチームのおかげで可能になりました。特に、Stella Bidermanの開放的な姿勢と、Ben Wangの主要なコードベースに感謝します。