Albert Base V2
ALBERTはTransformerアーキテクチャに基づく軽量版の事前学習言語モデルで、パラメータ共有メカニズムによりメモリ使用量を削減し、英語のテキスト処理タスクに適しています。
ダウンロード数 3.1M
リリース時間 : 3/2/2022
モデル概要
ALBERT基礎版v2は大文字小文字を区別しない英語の事前学習言語モデルで、マスク言語モデリングと文順予測の目標を用いて学習され、下流のNLPタスクの微調整に適しています。
モデル特徴
パラメータ共有メカニズム
すべてのTransformer層が同じ重みを共有し、モデルのパラメータ数を大幅に削減します。
双目標事前学習
マスク言語モデリング(MLM)と文順予測(SOP)を同時に用いて自己教師付き学習を行います。
軽量設計
標準のBERTモデルと比較して、パラメータが90%削減されながらも強力な性能を維持します。
モデル能力
テキスト特徴抽出
文順予測
マスク単語予測
下流タスクの微調整
使用事例
テキスト理解
シーケンス分類
テキストシーケンスに対して感情分析やトピック分類を行います。
SST - 2感情分析タスクで92.9%の正解率を達成しました。
質問応答システム
テキスト内容に基づく質問応答タスクを処理します。
SQuAD1.1タスクで90.2/83.2のEM/F1スコアを達成しました。
言語モデリング
マスク単語予測
マスクされた単語を予測して文を完成させます。
🚀 ALBERT Base v2
マスク言語モデリング(MLM)を用いて英語で事前学習されたモデルです。下流タスクの特徴抽出に利用できます。
🚀 クイックスタート
このモデルは、マスク言語モデリングや次文予測に使用できますが、主に下流タスクでのファインチューニングを目的としています。詳細は以下のセクションを参照してください。
✨ 主な機能
- マスク言語モデリング(MLM)により、文の双方向表現を学習。
- 文順序予測(SOP)に基づく事前学習損失を使用。
- Transformerのレイヤーを共有することで、メモリ使用量を抑える。
📦 インストール
このモデルを使用するには、transformers
ライブラリをインストールする必要があります。以下のコマンドでインストールできます。
pip install transformers
💻 使用例
基本的な使用法
# マスク言語モデリングのパイプラインを使用
>>> from transformers import pipeline
>>> unmasker = pipeline('fill-mask', model='albert-base-v2')
>>> unmasker("Hello I'm a [MASK] model.")
[
{
"sequence":"[CLS] hello i'm a modeling model.[SEP]",
"score":0.05816134437918663,
"token":12807,
"token_str":"▁modeling"
},
{
"sequence":"[CLS] hello i'm a modelling model.[SEP]",
"score":0.03748830780386925,
"token":23089,
"token_str":"▁modelling"
},
{
"sequence":"[CLS] hello i'm a model model.[SEP]",
"score":0.033725276589393616,
"token":1061,
"token_str":"▁model"
},
{
"sequence":"[CLS] hello i'm a runway model.[SEP]",
"score":0.017313428223133087,
"token":8014,
"token_str":"▁runway"
},
{
"sequence":"[CLS] hello i'm a lingerie model.[SEP]",
"score":0.014405295252799988,
"token":29104,
"token_str":"▁lingerie"
}
]
高度な使用法
# PyTorchで特徴量を取得
from transformers import AlbertTokenizer, AlbertModel
tokenizer = AlbertTokenizer.from_pretrained('albert-base-v2')
model = AlbertModel.from_pretrained("albert-base-v2")
text = "Replace me by any text you'd like."
encoded_input = tokenizer(text, return_tensors='pt')
output = model(**encoded_input)
# TensorFlowで特徴量を取得
from transformers import AlbertTokenizer, TFAlbertModel
tokenizer = AlbertTokenizer.from_pretrained('albert-base-v2')
model = TFAlbertModel.from_pretrained("albert-base-v2")
text = "Replace me by any text you'd like."
encoded_input = tokenizer(text, return_tensors='tf')
output = model(encoded_input)
📚 ドキュメント
モデルの説明
ALBERTは、自己教師付き学習により英語の大規模コーパスで事前学習されたトランスフォーマーモデルです。MLMとSOPの2つの目的で事前学習され、下流タスクでの特徴抽出に利用できます。
意図された用途と制限
このモデルは、文全体を使用して決定を下すタスクでのファインチューニングを目的としています。テキスト生成などのタスクには、GPT2などのモデルを使用することをお勧めします。
制限とバイアス
このモデルは、トレーニングデータが比較的中立であっても、偏った予測を行う可能性があります。以下の例を参照してください。
>>> from transformers import pipeline
>>> unmasker = pipeline('fill-mask', model='albert-base-v2')
>>> unmasker("The man worked as a [MASK].")
[
{
"sequence":"[CLS] the man worked as a chauffeur.[SEP]",
"score":0.029577180743217468,
"token":28744,
"token_str":"▁chauffeur"
},
{
"sequence":"[CLS] the man worked as a janitor.[SEP]",
"score":0.028865724802017212,
"token":29477,
"token_str":"▁janitor"
},
{
"sequence":"[CLS] the man worked as a shoemaker.[SEP]",
"score":0.02581118606030941,
"token":29024,
"token_str":"▁shoemaker"
},
{
"sequence":"[CLS] the man worked as a blacksmith.[SEP]",
"score":0.01849772222340107,
"token":21238,
"token_str":"▁blacksmith"
},
{
"sequence":"[CLS] the man worked as a lawyer.[SEP]",
"score":0.01820771023631096,
"token":3672,
"token_str":"▁lawyer"
}
]
>>> unmasker("The woman worked as a [MASK].")
[
{
"sequence":"[CLS] the woman worked as a receptionist.[SEP]",
"score":0.04604868218302727,
"token":25331,
"token_str":"▁receptionist"
},
{
"sequence":"[CLS] the woman worked as a janitor.[SEP]",
"score":0.028220869600772858,
"token":29477,
"token_str":"▁janitor"
},
{
"sequence":"[CLS] the woman worked as a paramedic.[SEP]",
"score":0.0261906236410141,
"token":23386,
"token_str":"▁paramedic"
},
{
"sequence":"[CLS] the woman worked as a chauffeur.[SEP]",
"score":0.024797942489385605,
"token":28744,
"token_str":"▁chauffeur"
},
{
"sequence":"[CLS] the woman worked as a waitress.[SEP]",
"score":0.024124596267938614,
"token":13678,
"token_str":"▁waitress"
}
]
トレーニングデータ
ALBERTモデルは、BookCorpusとEnglish Wikipedia(リスト、表、ヘッダーを除く)を使用して事前学習されています。
トレーニング手順
前処理
テキストは小文字に変換され、SentencePieceを使用してトークン化されます。語彙サイズは30,000です。モデルの入力は以下の形式になります。
[CLS] Sentence A [SEP] Sentence B [SEP]
トレーニング
ALBERTの手順は、BERTのセットアップに従います。各文のマスキング手順の詳細は以下の通りです。
- 15%のトークンがマスクされます。
- 80%の場合、マスクされたトークンは
[MASK]
に置き換えられます。 - 10%の場合、マスクされたトークンはランダムなトークンに置き換えられます。
- 10%の場合、マスクされたトークンはそのまま残されます。
評価結果
下流タスクでファインチューニングした場合、ALBERTモデルは以下の結果を達成します。
平均 | SQuAD1.1 | SQuAD2.0 | MNLI | SST-2 | RACE | |
---|---|---|---|---|---|---|
V2 | ||||||
ALBERT-base | 82.3 | 90.2/83.2 | 82.1/79.3 | 84.6 | 92.9 | 66.8 |
ALBERT-large | 85.7 | 91.8/85.2 | 84.9/81.8 | 86.5 | 94.9 | 75.2 |
ALBERT-xlarge | 87.9 | 92.9/86.4 | 87.9/84.1 | 87.9 | 95.4 | 80.7 |
ALBERT-xxlarge | 90.9 | 94.6/89.1 | 89.8/86.9 | 90.6 | 96.8 | 86.8 |
V1 | ||||||
ALBERT-base | 80.1 | 89.3/82.3 | 80.0/77.1 | 81.6 | 90.3 | 64.0 |
ALBERT-large | 82.4 | 90.6/83.9 | 82.3/79.4 | 83.5 | 91.7 | 68.5 |
ALBERT-xlarge | 85.5 | 92.5/86.1 | 86.1/83.1 | 86.4 | 92.4 | 74.8 |
ALBERT-xxlarge | 91.0 | 94.8/89.3 | 90.2/87.4 | 90.8 | 96.9 | 86.5 |
🔧 技術詳細
このモデルは、以下の構成を持っています。
属性 | 详情 |
---|---|
モデルタイプ | ALBERT Base v2 |
トレーニングデータ | BookCorpus、English Wikipedia |
繰り返しレイヤー数 | 12 |
埋め込み次元数 | 128 |
隠れ次元数 | 768 |
アテンションヘッド数 | 12 |
パラメータ数 | 11M |
📄 ライセンス
このモデルは、Apache 2.0ライセンスの下で提供されています。
BibTeX引用
@article{DBLP:journals/corr/abs-1909-11942,
author = {Zhenzhong Lan and
Mingda Chen and
Sebastian Goodman and
Kevin Gimpel and
Piyush Sharma and
Radu Soricut},
title = {{ALBERT:} {A} Lite {BERT} for Self-supervised Learning of Language
Representations},
journal = {CoRR},
volume = {abs/1909.11942},
year = {2019},
url = {http://arxiv.org/abs/1909.11942},
archivePrefix = {arXiv},
eprint = {1909.11942},
timestamp = {Fri, 27 Sep 2019 13:04:21 +0200},
biburl = {https://dblp.org/rec/journals/corr/abs-1909-11942.bib},
bibsource = {dblp computer science bibliography, https://dblp.org}
}
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