Transformers
Transformerを、Transformersで操作すると理解してもらえればOK
https://scrapbox.io/files/66b3aa538c539e001d695679.png
Tokenizerとか自分で指定して繋ぎ合わせられるし、全部よしなにやってもらうことも可能。
Transformerなモデル(ex. LLM)を使う上でデファクトになっている。
PyTorchとかJAXとかTensorflowとか受け入れられるし。
config.jsonとかtokenizer.jsonとか、ファイルのお作法はTransformers由来っぽい?
ChatGPT。
Hugging Faceのモデルが持つファイル名や配置規則は、主にTransformersライブラリの仕様によって決まっています。これらの規則は、以下のような理由と場所で定義されています。
### 理由と目的
1. **一貫性**: 異なるモデル間での一貫性を保つため、同じようなファイル構造や命名規則を用いることで、ユーザーが容易にファイルを特定し操作できるようにしています。
2. **互換性**: ファイルの構造や命名規則を統一することで、ライブラリがさまざまなモデルやトークナイザーを容易にロードし、動作させることができるようになります。
3. **自動化**: 同じ規則に従うことで、モデルの自動ダウンロードやロードが可能になり、ユーザーは複雑な設定を必要とせずにモデルを利用できます。
### 仕様の定義場所
1. **Transformersライブラリのコード**: Hugging FaceのTransformersライブラリのコード内で、各モデルのクラスやトークナイザークラスに関する仕様が定義されています。これには、どのファイルが必要であるか、どのファイルがどのように使用されるかが含まれます。
2. **ドキュメント**: Hugging Faceの公式ドキュメントでは、モデルの保存形式やファイル構造についてのガイドラインが提供されています。特に、モデルの保存や読み込みに関する部分が該当します。
3. **モデルカード**: 各モデルのページには、特定のモデルに関連するファイルや、それらがどのように使用されるかについての情報が含まれています。
### 一般的なファイルとその役割
- **tokenizer.json**: トークナイザーの設定と語彙を含むファイル。
- **config.json**: モデルの設定情報(例: 隠れ層の数、注意ヘッドの数など)が含まれるファイル。
- **pytorch_model.bin**: PyTorchで訓練されたモデルの重みを含むファイル。
- **tf_model.h5**: TensorFlowで訓練されたモデルの重みを含むファイル(TensorFlowモデルの場合)。
### 具体的な仕様の確認方法
これらの仕様を確認したり、さらに詳細を知りたい場合は、以下のリソースを参照することをお勧めします:
これらを確認することで、モデルのファイル名や配置がどのように決まっているかを理解しやすくなります。
〇〇ForCausalLMのクラスは文章生成用のクラスで、Transformerにかけた後のベクトルに対してトークン数のクラス分類器がついたものになります。