LanguageModel (3311) — 17/17


Paper/Blog Link My Issue
#Article #EfficiencyImprovement #NLP #Supervised-FineTuning (SFT) #Repository #PostTraining #Selected Papers/Blogs #One-Line Notes Issue Date: 2024-08-25 Comment

LLMを学習する時に、ワンライン追加するだけで、マルチGPUトレーニングのスループットを20%改善し、メモリ使用量を60%削減するらしい

元ツイート:

Loading…

Unsloth Unsloth, unslothai, 2024.07 はLoRA/QLoRAが可能な一方でまだMulti-GPUはサポートしていない。一方、Liger-KernelはLoRAよりもfull-parameter tuningとMulti-GPUにフォーカスしており、目的に応じて使い分けが必要。



https://github.com/linkedin/Liger-Kernel/issues/57




Paper/Blog Link My Issue
#Article #NLP #Supervised-FineTuning (SFT) #SyntheticData #Blog #Proprietary #Japanese #DPO #ModelMerge #KeyPoint Notes Issue Date: 2024-08-08 Comment

日本語のベンチマークでGPT4を超える性能を達成。
SFT, DPOで学習。学習データは、Publicなもの、プログラムで作成したもの、LLM自身に作成させたものを利用した。また、最終的なモデルに複数の候補があったのでモデルマージで良いところ取りをした。DPOで利用するpreferenceデータは、事後学習途中のモデルによって自動生成。




Paper/Blog Link My Issue
#Article #NLP #OpenWeight #Reading Reflections #needs-revision Issue Date: 2024-07-09 Comment

>LLMの日本語能力を評価するNejumi LLM リーダーボード3においては、700億パラメータのMeta-Llama-3-70B-Instructと同等の性能となっており、スクラッチ開発のオープンな日本語LLMとしてはトップクラスの性能となります(2024年7月現在)。
モデルは商用利用可能なApache License 2.0で提供されており

これはすごい




Paper/Blog Link My Issue
#Article #Tutorial #Pretraining #NLP #Blog #KeyPoint Notes Issue Date: 2024-07-08 Comment

LLMの事前学習における知見がまとまっている記事とのこと

・Megatron LMで学習
 → 3D Parallelismなどの分散学習手法によりHF Trainerより高速
 → Data Parallelim、Tensor Parallelism、 Pipeline Parallelismを組み合わせたもの
・GPUメンテナンス、不良で学習が継続できなかった場合はcheckpointをロードして学習
・学習曲線が安定しているように見えるがSpikeは発生している。発生時はgradient normが急激に上昇する
・LlamaなどのLLMからの継続的事前学習ではなくfrom scratchから学習しているので透明性が高い
・Transformer engineを利用
・AdamWを利用
・attention dropout, hidden dropoutは0.0

>この際、 通信を多く必要とする分散手法のワーカー(Tensor Parallelワーカー)はノード内に配置するようにMegatron-LMのデフォルトではなっているため、今回もそれを利用しました。このようにする理由は、ノード内の通信はNVLinkにより、ノード間通信よりも高速であるためです。また、Data Parallelの勾配平均化のための通信を考慮して、Data Parallelワーカーも可能な限りノード内に配置するMegatron-LMデフォルトの挙動を利用しました。
Pipeline Parallelismは他の並列化手法と比較して通信量が少ないP2P(Point-to-Point)通信であるため、パイプラインステージはノード間で配置するようにしました。これも、Megatron-LMデフォルトの挙動です。

勉強になる

・通常のデータ並列はoptimizer stateをworker間で複製するので遅い。Deep Speed Zero 1のように分散して保有することで高速化
・Tensor Parallelでself attention, MLPの計算を並列化できる
・LayerNormalization, Dropoutの演算もメモリ効率の観点から並列化
・学習を安定させるためにz-lossを利用
・batch skippingとは、gradient clippingを行っていてもなおspikeが生じる場合に、100 step前に戻り、spikeが生じた付近のデータを数百iteration程度スキップすること




Paper/Blog Link My Issue
#Article #NLP #RAG(RetrievalAugmentedGeneration) #LongContext #Encoder #KeyPoint Notes Issue Date: 2024-07-03 Comment

RAGへ応用する際に、長いコンテキストを扱いEmbeddingを獲得したいシーンが増えたので、最大でコンテキスト長が2048のBERTを学習し公開。Apache2.0



オリジナルのBERTと比較して、近年のLLMで有用性が示されている以下をアーキテクチャに取り入れている

- SwiGLU活性化関数 [Paper Note] GLU Variants Improve Transformer, Noam Shazeer, arXiv'20, 2020.02

- PreNorm より良いTransformerをつくる, Shun Kiyono, 2022

- Grouped Query Attention (Multi Query Attention) [Paper Note] GQA: Training Generalized Multi-Query Transformer Models from Multi-Head Checkpoints, Joshua Ainslie+, arXiv'23, 2023.05




Paper/Blog Link My Issue
#Article #EfficiencyImprovement #NLP #Library #Repository #One-Line Notes Issue Date: 2024-04-28 Comment

4GBのSingle GPUで、70Bモデルのinferenceを実現できるライブラリ。トークンの生成速度は検証する必要がある。transformer decoderの各layerの演算は独立しているため、GPUに全てのlayerを載せず、必要な分だけ載せてinferenceするといった操作を繰り返す模様。

元ツイート:

Loading…




Paper/Blog Link My Issue
#Article #NLP #OpenWeight #KeyPoint Notes Issue Date: 2024-04-18 Comment

ライセンスによると、LLaMA3を利用したモデルはどんな場合でもLlama3をprefixとして付与しないといけないらしい

元ツイート:

Loading…

LLaMA3がChatBot ArenaでTop 5になったとのこと。また、英語においては、GPT4-1106-preview, GPT-4-turbo-2024-0409と同等の性能を達成。これはすごい…

Loading…

nejumi-leaderboard Nejumi LLMリーダーボード, Weights & Biases にLLaMA3の評価結果が掲載された模様(画像は下記ツイートより引用)

image

Loading…

モデルアーキテクチャはTransformer Decoderをベースにしており、Llama2と比較して

- TokenizerのVocabサイズを128Kより効率的にテキストをエンコーディング可能に

- GQA [Paper Note] GQA: Training Generalized Multi-Query Transformer Models from Multi-Head Checkpoints, Joshua Ainslie+, arXiv'23, 2023.05 を利用しInferenceを高速化 (Llama2の時点でGQAを使っていたが、70Bモデルだけだった)

- self-attentionが、ドキュメントを跨がないように学習

context: 8192




Paper/Blog Link My Issue
#Article #Tutorial #NLP #GenerativeAI #Repository #OpenSource #Selected Papers/Blogs #One-Line Notes Issue Date: 2024-04-14 Comment

HuggingFaceによる様々な実用的なアプリケーションをオープンソースの実装やモデルで実現するノートブックがまとまったリポジトリ。LLM-as-a-judge, RAG, PEFTによるPrompt Tuning(Prefix Tuningとかそっち系の話だと思われる)など、現在16種類ほどあるらしい。

改めて見たら数がかなり増えていた




Paper/Blog Link My Issue
#Article #ComputerVision #NLP #Library #Alignment #TextualInversion #KeyPoint Notes #TrainingFramework Issue Date: 2024-03-21 Comment

LLMの出力のスタイルを数百個の事例だけで学習しチューニングできるライブラリ。promptで指定するのとは異なり、数値でスタイルの強さを指定することが可能らしい(元ツイート)。画像生成分野におけるTextual Inversionと同じ技術とのこと。

Textual Inversionとは、少量のサンプルを用いて、テキストエンコーダ部分に新たな「単語」を追加し、単語と対応する画像を用いてパラメータを更新することで、prompt中で「単語」を利用した場合に学習した画像のスタイルやオブジェクト(オリジナルの学習データに存在しなくても可)を生成できるようにする技術、らしい。

Huggiegface: https://huggingface.co/docs/diffusers/training/text_inversion
(参考)GPTに質問した際のログ: https://chat.openai.com/share/e4558c44-ce09-417f-9c77-6f3855e583fa
元ツイート:

Loading…




Paper/Blog Link My Issue
#Article #ComputerVision #NLP #Selected Papers/Blogs #ModelMerge #KeyPoint Notes #Nature Machine Intelligence Issue Date: 2024-03-21 GPT Summary- 進化アルゴリズムを使用した新しいアプローチを提案し、強力な基盤モデルの自動生成を実現。LLMの開発において、人間の直感やドメイン知識に依存せず、多様なオープンソースモデルの効果的な組み合わせを自動的に発見する。このアプローチは、日本語のLLMと数学推論能力を持つモデルなど、異なるドメイン間の統合を容易にし、日本語VLMの性能向上にも貢献。オープンソースコミュニティへの貢献と自動モデル構成の新しいパラダイム導入により、基盤モデル開発における効率的なアプローチを模索。 Comment

複数のLLMを融合するモデルマージの話。日本語LLMと英語の数学LLNをマージさせることで日本語の数学性能を大幅に向上させたり、LLMとVLMを融合したりすることで、日本にしか存在しない概念の画像も、きちんと回答できるようになる。

著者スライドによると、従来のモデルマージにはbase modelが同一でないとうまくいかなかったり(重みの線型結合によるモデルマージ)、パラメータが増減したり(複数LLMのLayerを重みは弄らず再配置する)。また日本語LLMに対してモデルマージを実施しようとすると、マージ元のLLMが少なかったり、広範囲のモデルを扱うとマージがうまくいかない、といった課題があった。本研究ではこれら課題を解決できる。

著者による資料(NLPコロキウム):
https://speakerdeck.com/iwiwi/17-nlpkorokiumu




Paper/Blog Link My Issue
#Article #NLP #Blog #MoE(Mixture-of-Experts) #One-Line Notes Issue Date: 2024-03-18 Comment

Apache2.0ライセンス, 314Bパラメータでモデルの重み、Mixture-of-Expertsを採用している。学習データ、学習に利用したコードはおそらく公開されていない。

Grok-1.5がリリース
https://x.ai/blog/grok-1.5

各種ベンチマークの性能、特にMathの性能が向上し、コンテキスト長が128kに

image




Paper/Blog Link My Issue
#Article #NaturalLanguageGeneration #NLP #Blog #One-Line Notes Issue Date: 2024-01-01 Comment

言語モデルのdecodingの方法についてよくまとまっている。まとめられているdecoding方法は以下

- Greedy, BeamSearch, RandomSampling, Temperature, Top-K Sampling, Nucleus Sampling

こちらの記事ではHuggingFaceでの実装や他のdecoding方法等、より実装面での詳細が記述されている:

https://note.com/npaka/n/n9a8c85f2ef7a




Paper/Blog Link My Issue
#Article #NLP #FoundationModel #Blog #Japanese #mid-training #KeyPoint Notes Issue Date: 2023-12-19 Comment

Llama2の日本語性能を継続事前学習で引き上げたLLM。2023年12月時点の日本語オープンソースLLMの中で最高性能とのこと。

開発者の方による詳細はこちら:
https://zenn.dev/tokyotech_lm/articles/d6cb3a8fdfc907

すごい読み応え…checkpointの容量のデカさや、A100x8 60ノード使った話や、ノード不良やスケジュール管理の話、独自に実装をゴリゴリ加えたものではなく最終的に完成度の高さからMegatronLMを採用した話など、バグった規模感と試行錯誤や実体験に基づくエピソード満載。

参考:
ELYZA-tasks-100 でLLM14個の日本語性能を横断評価してみた




Paper/Blog Link My Issue
#Article #EfficiencyImprovement #NLP #Attention #Blog #KeyPoint Notes Issue Date: 2023-12-14 Comment

use_cacheがTrue/Falseの場合のFlashAttention2のinference timeとVRAM使用量の傾向をsequence_lengthごとに考察している。

use_cacheはKey Value cacheのオンオフを切り替えられるオプションである。autoregressiveなモデルのinference時には、何度も同じinput tokenに対するKVの計算が生じるため(M番目のトークンを生成した後、M+1番目のトークンの生成をする場合、M-1番目までのトークンのKVを再計算せねばならない)、cacheをすることで大幅に計算速度が改善される。

use_cacheをTrueにできるならFlashAttention2の恩恵は小さい(inference timeが少し早くなるのみ)ため、潤沢なVRAMがあるなら得られる恩恵は小さい。
逆にVRAM節約してuse_cacheをFalseにせざるを得ないのであれば、FlashAttention2によりVRAM使用量をsequence_legthの線形に抑えることができ、かつinference timeも短くなる。

↑上記はあくまでinferenceをする場合のみの話であり(train時はautoregressive modelではcausal maskを用い、teacher forcingで並列にトークンを生成するためそもそもKV-cacheする意味がない)、trainingをする場合FlashAttention2で大幅にVRAM使用量を減らせるので、そこは分けて考えること。
https://qiita.com/jovyan/items/ff3d0a49163c7afa33ce

Flash Attentionを使ってLLMの推論を高速・軽量化できるか?
https://qiita.com/jovyan/items/11deb9d4601e4705a60d

こちらの記事も非常に勉強になる




Paper/Blog Link My Issue
#Article #NLP #MultiModal #Blog #Proprietary #VisionLanguageModel #KeyPoint Notes #Reference Collection Issue Date: 2023-12-07 Comment

多くのベンチマークでGPT4超えらしい

(追記1)
テクニカルレポートのp.44を見ると、ブログポスト中のGPT4のMMLUのスコアはGPT-4-0613のもののようなので、これが正しいとすると他のベンチマークのスコアも同モデルのものである可能性が高く、GPT-4-1163-preview(最新モデル)のスコアでは"ないかもしれない"点に注意。GPT4とどちらが実際に性能が良いか?については様子見した方が良さそう。

(追記2)
GSM8Kの結果も、GPT4に対してFair Comparisonではないかもしれない点に注意。Geminiは32個のCoTとSelf-Consistencyを利用しているが、GPT4では5-shotで単一のCoTのみであるため、prompting手法ではGeminiに有利な比較となっているように見える。ただしGPT4はGSM8Kの訓練データを事前学習時にMIXしている(SFT)ので、Geminiがこのようなことをしていないのであれば、この点ではGPT4が有利になっている“可能性”がある。

他にもFair Comparisonになっていないと推察されるものはTextモダリティでの評価の表の文言を見るとありそうなのでそこは念頭においた方が良さそうである。

テクニカルレポート: https://storage.googleapis.com/deepmind-media/gemini/gemini_1_report.pdf

Gemini Summary

Loading…

MMLUでの同じprompting手法でのGPT-4-0613との比較。32個のCoTでのSelf-Consistencyで比較した場合、GPT-4-0613に負けているが、閾値を設けてconfidenceが閾値以上の場合はSelf-consistency, そうでない場合はgreedyに生成した結果を選択する、というUncertain-Routed CoT@32では、Geminiのパフォーマンスgainが大きくGPT-4-0613よりも高い性能を示している。
ブログポスト中のGPT4のスコアは5-shotのもの(reportedと書かれているのでOpenAIが公表している数値と推察)であり、Geminiの結果はUncertain-Routed CoT@32の結果であるため、Fair Comparisonになっていないかもしれない?点には注意。

レポート中ではSelf-consistencyという単語でこの部分は書かれていないが、実は少しやっていること違ってたりする…?

image




Paper/Blog Link My Issue
#Article #Blog #One-Line Notes #Reading Reflections Issue Date: 2023-12-05 Comment

StabilityAI Japan秋葉さん(元PFN)のW&B Conferenceでの発表に関する記事。
LLM構築タイムアタックでLLMをもし構築することになったら!?
のざっくりとしたプロセスや、次ページでOpenAIのGPT4のテクニカルレポートのクレジットから各チームの規模感を推定して、どの部分にどの程度の人員が割かれていたのかというのをベースに、各パートでどんなことがやられていそうかという話がされている。

LLM構築タイムアタックで、まずGPUを用意します!(ここが一番大変かも)の時点で、あっ察し(白目 という感じがして面白かった。




Paper/Blog Link My Issue
#Article #InformationRetrieval #NLP #RAG(RetrievalAugmentedGeneration) #Blog Issue Date: 2023-12-04 Comment

実践的な内容(チャンク生成時の工夫、クエリ生成時の工夫等)が網羅的にまとまっており非常に有用

個人的に、コンペ主催者側から提供されたデータが少なく、上位のほとんどのチームがChatGPT(3.5, 4)を用いて、QAデータを生成していた、というのが興味深かった。プロンプトはたとえば下記:

[(5th-place-solution)]( https://www.kaggle.com/competitions/kaggle-llm-science-exam/discussion/446293)より引用

```

system_content = """

Forget all the previous instruction and rigorously follow the rule specified by the user.

You are a professional scientist's assistant.

"""



user_content_template_qa = Template(

"""

Please consider 5 choices question and answer of the following TEXT.

The purpose of this question is to check respondent's deep science understanding of the TEXT.

We assume this question is for professional scientists, so consider super difficult question.

You can ask very detailed question, for example check specific sentence's understanding.

It is good practice to randomly choose specific sentence from given TEXT, and make QA based on this specific sentence.

You must make QA based on the fact written in the TEXT.

You may create wrong answers based on the correct answer's information, by modifying some parts of the correct answer.

Your response must be in following format, don't write any other information.

You must not include "new line" in each Q), 1), 2), 3), 4), 5), and A):

Q) `question text comes here`

1) `answer candidate 1`

2) `answer candidate 2`

3) `answer candidate 3`

4) `answer candidate 4`

5) `answer candidate 5`

A) `answer`



where only 1 `answer candidate` is the correct answer and other 4 choices must be wrong answer.

Note1: I want to make the question very difficult, so please make wrong answer to be not trivial incorrect.

Note2: The answer candidates should be long sentences around 30 words, not the single word.

Note3: `answer` must be 1, 2, 3, 4 or 5. `answer` must not contain any other words.

Note4: Example of the question are "What is ...", "Which of the following statements ...", "What did `the person` do",

and "What was ...".

Note5: Question should be science, technology, engineering and mathematics related topic.

If the given TEXT is completely difference from science, then just output "skip" instead of QA.





Here is an example of your response, please consider this kind of difficulty when you create Q&A:

Q) Which of the following statements accurately describes the impact of Modified Newtonian Dynamics (MOND) on the observed "missing baryonic mass" discrepancy in galaxy clusters?"

1) MOND is a theory that reduces the observed missing baryonic mass in galaxy clusters by postulating the existence of a new form of matter called "fuzzy dark matter."

2) MOND is a theory that increases the discrepancy between the observed missing baryonic mass in galaxy clusters and the measured velocity dispersions from a factor of around 10 to a factor of about 20.

3) MOND is a theory that explains the missing baryonic mass in galaxy clusters that was previously considered dark matter by demonstrating that the mass is in the form of neutrinos and axions.

4) MOND is a theory that reduces the discrepancy between the observed missing baryonic mass in galaxy clusters and the measured velocity dispersions from a factor of around 10 to a factor of about 2.

5) MOND is a theory that eliminates the observed missing baryonic mass in galaxy clusters by imposing a new mathematical formulation of gravity that does not require the existence of dark matter.

A) 4



Let's start. Here is TEXT: $title\n$text

"""

)

```




Paper/Blog Link My Issue
#Article #EfficiencyImprovement #Tools #NLP #Repository #One-Line Notes Issue Date: 2023-11-21 Comment

ローカルマシンでChatGPT likeなUIでチャットボットを動作させられるOpensource。
Mistral7BやGGUFフォーマットのモデルのよつな(おそらく量子化されたものも含む)ローカルマシンで動作させられる規模感のモデルがサポートされている。
https://gpt4all.io/index.html




Paper/Blog Link My Issue
#Article #Tutorial #Dataset #Evaluation #One-Line Notes #Reading Reflections Issue Date: 2023-11-16 Comment

JGLUEのexample付きの詳細、構築の経緯のみならず、最近の英語・日本語LLMの代表的な評価データ(方法)がまとまっている(AlpacaEval, MTBenchなど)。また、LLMにおける自動評価の課題が興味深く、LLM評価で生じるバイアスについても記述されている。Name biasなどはなるほどと思った。

日本語LLMの今後の評価に向けて、特にGPT4による評価を避け、きちんとアノテーションしたデータを用意しfinetuningした分類器を用いるという視点、参考にしたい。




Paper/Blog Link My Issue
#Article #NLP #Hallucination #Factuality #Repository #One-Line Notes Issue Date: 2023-11-14 Comment

1000個の短いドキュメントに対して、事実情報のみを用いて要約を生成させ、要約結果と原文書のFactual consistencyを別に訓練したモデルで測定して評価してリーダーボードを作成している。

Claude2よりLLaMA2の方が性能が良いのが面白いし、Palmの性能があまり良くない。

元ツイート:

Loading…




Paper/Blog Link My Issue
#Article #Tutorial #InformationRetrieval #NLP #RAG(RetrievalAugmentedGeneration) #Slide #KeyPoint Notes Issue Date: 2023-11-06 Comment

(以下スクショはスライドより引用)



次のスクショはRAGにかかわる周辺技術がよくまとまっていると思う。

image



以下ざっくり私の中の認識として

- 計画

- クエリ拡張

- クエリの質が悪い場合検索性能が劣化するため、クエリをより適切に検索ができるように修正(昔はキーワードしか与えられないときに情報を増やすから”拡張”という文言が用いられているが現在はこれに限らないと思う)する技術

- 分解・抽象化

- 複雑なクエリから分解することでマルチホップの質問をサブ質問に分解(今ならLLMを利用すれば比較的簡単にできる)したり、あるいは抽象化したクエリ(Step-back Promptnig [Paper Note] Take a Step Back: Evoking Reasoning via Abstraction in Large Language Models, Huaixiu Steven Zheng+, N/A, ICLR'24 )を活用することで検索を改善する技術

- 検索対象選定

- 検索する対象そのものを選択し、検索対象をフィルタリングする技術

- 資料中ではLLMを用いたフィルタリングやClassifierを用いたフィルタリングが紹介されているが、メタデータで絞り込むなどの単純な方法でも実現可能だと思われる(メタデータで絞り込む、はClassifierでのフィルタリングとリンクするかもしれないが)

- 思考・行動

- [Paper Note] ReAct: Synergizing Reasoning and Acting in Language Models, Shunyu Yao+, ICLR'23, 2022.10 のような自律的にLLMに思考とその結果に基づく行動をイテレーションさせる技術や、クエリを分解して回答へたどり着くために必要な推論を構築し、各推論の回答を検証しながら生成を繰り返す技術が紹介されている

- この辺の技術はクエリが非常に複雑な場合に有効ではあるが、シンプルな場合は必要ないかなという印象がある

- シンプルなユースケースの場合はどちらかというと泥臭い前処理とかが効きそう

- 関連知識取得

- 検索

- 表層検索(TF-IDFベクトル, BM25)などの古典的な手法や、意味検索(Embeddingに基づく手法)が紹介されている

- 例えばlangchainでは表層検索 + 意味検索の両者がサポートされており、簡単にハイブリッドな検索が実現できる

- 知識文生成

- 外部知識として検索された文書を利用するだけでなく、LLM自身が保持する知識を活用するためにLLMが生成した文書の両方を活用するとQAの正答率が向上することが紹介されている

- 文書フィルタ

- 検索でクエリに関連しない文書を取得してしまう応答品質が大幅に低下することが紹介されている

- 個人的にはここが一番重要なパートだと考えている

- また、検索結果を要約する方法も紹介されている

- 再帰・反復計算

- Retrierverから取得した結果に基づいてLLMが応答を生成し、生成した応答とoriginalのquestionの両方を組み合わせて追加でRetrieverから文書を取得し生成する手法などが紹介されている

- リランキング

- 検索結果のリランキングも古くから存在する技術であり、異なる知識を持つRankerによってリランキングさせることで性能が向上する場合がある

- 回答

- 回答抽出・生成

- 回答となる部分のspanを抽出する手法と、spanではなくテキストを生成する手法が紹介されている

- この辺は文書要約におけるExtractive/Abstractive Summarization技術などもかなり応用が効くと思われる

- インデクシング

- 不要文書のフィルタリングや、チャンク分割の戦略、資格情報をテキスト化する方法などが紹介されている



image

image




Paper/Blog Link My Issue
#Article #Tutorial #NLP #Alignment #GenerativeAI #Hallucination #Blog #Safety #Reading Reflections Issue Date: 2023-11-03 Comment

この資料をスタートにReferしている論文などを勉強すると、GenerativeAIのリスク周りに詳しくなれそう。この辺は疎いので勉強になる。
しかし、LLMのAlignmentが不十分だったり、Hallucinationを100%防ぐことは原理的に不可能だと思われるので、この辺とどう付き合っていくかがLLMと付き合っていく上で難しいところ。この辺は自分たちが活用したいユースケースに応じて柔軟に対応しなければならず、この辺の細かいカスタマイズをする地道な作業はずっと残り続けるのではないかなあ




Paper/Blog Link My Issue
#Article #Survey #ComputerVision #NaturalLanguageGeneration #NLP #ImageCaptioning #DiffusionModel #Blog #Initial Impression Notes Issue Date: 2023-11-02 Comment

これはすごいまとめ…。まだ途中までしか読めていない。CLIPからスタートしてCLIPを引用している論文から重要なものを概要付きでまとめている。




Paper/Blog Link My Issue
#Article #Tutorial #NLP #AIAgents #Chain-of-Thought #Slide #One-Line Notes Issue Date: 2023-11-01 Comment

LLMの応用研究やPromptingを中心としたチュートリアル。アノテーションや対話式推薦システムへの活用、ReAct、プロンプトの最適化技術、CoTの基本から応用まで幅広くまとまっているので、LLMの応用技術の概観や、CoTを実践したい人に非常に有用だと思う。




Paper/Blog Link My Issue
#Article #EfficiencyImprovement #NLP #MultiModal #FoundationModel #Blog #KeyPoint Notes Issue Date: 2023-11-01 Comment

**(追記 2026.03: 以下の記述内容は上記ページがリリースされた当初のものであり、現在は上記ページの内容は更新されているようですので、ご注意ください。 )**

NTT製のLLM。パラメータ数は7Bと軽量だが高性能。
MTBenchのようなGPT4に勝敗を判定させるベンチマークで、地理、歴史、政治、社会に関する質問応答タスク(図6)でgpt3.5turboと同等、国産LLMの中でトップの性能。GPT3.5turboには、コーディングや数学などの能力では劣るとのこと。

> *6 Rakudaベンチマーク
日本語の言語モデルの性能を評価するベンチマークの一つで、日本の地理・政治・歴史・社会に関する質問応答タスクによって評価を行う。
URL: https://yuzuai.jp/benchmark

>*7 Japanese Vicuna QAベンチマーク
Rakudaよりもさらに幅広いカテゴリで言語モデルのQAや指示遂行の能力を問う評価方法。一般知識、ロールプレイなど多数の質問から構成される。
URL: https://github.com/hitoshizuku7/LLM_Judge_ku/blob/main/README.md

tsuzumiはアダプタを追加することで、モデル全体のパラメータを更新することなく、さまざまな知識を持たせたり、振る舞いを変えたりできるようになるとのこと(LoRAアダプタのようなものだと思われる)。
まて、将来的に視覚や聴覚などのマルチモーダル対応も実施。

思想がLoRA Hub [Paper Note] LoraHub: Efficient Cross-Task Generalization via Dynamic LoRA Composition, Chengsong Huang+, arXiv'23, 2023.07 に近く、アダプタを着脱すれば柔軟に生成を変えられるのは有用だと思う。




Paper/Blog Link My Issue
#Article #NLP #Prompting #Blog #Reading Reflections Issue Date: 2023-10-29 Comment

ざっと見たが現時点で主要なものはほぼ含まれているのでは、という印象
実際のプロンプト例が載っているので、理解しやすいかもしれない。




Paper/Blog Link My Issue
#Article #Tools #NLP #Library #Evaluation #RAG(RetrievalAugmentedGeneration) #Blog #KeyPoint Notes Issue Date: 2023-10-29 Comment

RAG pipeline (retrieval + generation)を評価するライブラリRagasについて紹介されている。

評価に活用される指標は下記で、背後にLLMを活用しているため、大半の指標はラベルデータ不要。ただし、context_recallを測定する場合はreference answerが必要。
Ragasスコアとしてどのメトリックを利用するかは選択することができ、選択したメトリックのharmonic meanでスコアが算出される。
image

各種メトリックの内部的な処理は下記:
- faithfullness
- questionと生成された回答に基づいて、statementのリストをLLMで生成する。statementは回答が主張している内容をLLMが解釈したものだと思われる。
- statementのリストとcontextが与えられたときに、statementがcontextにsupportされているかをLLMで評価する。
- num. of supported statements / num. of statements でスコアが算出される
- Answer Relevancy
- LLMで生成された回答から逆に質問を生成し、生成された質問と実際の質問の類似度を測ることで評価
- Context Relevancy
- どれだけcontextにノイズが含まれるかを測定する。
- LLMでcontextの各文ごとに回答に必要な文か否かを判断する
- 回答に必要な文数 / 全文数 でスコアを算出
- Context Recall
- 回答に必要な情報を全てretrieverが抽出できているか
- ground truthとなる回答からstatementをLLMで生成し、statementがcontextでどれだけカバーされているかで算出

また、LangSmithを利用して実験を管理する方法についても記述されている。
image




Paper/Blog Link My Issue
#Article #Tools #NLP #Library #RAG(RetrievalAugmentedGeneration) #Blog #One-Line Notes Issue Date: 2023-10-29 Comment

以下リンクからの引用。LangChainから提供されているRetrieverのcontext抽出の性能改善のためのソリューション

> Multi representation indexing:検索に適した文書表現(例えば要約)の作成
Query transformation:人間の質問を変換して検索を改善する方法
Query construction:人間の質問を特定のクエリ構文や言語に変換する方法

https://blog.langchain.dev/query-transformations/




Paper/Blog Link My Issue
#Article #NLP #Evaluation #Blog #KeyPoint Notes #Reading Reflections Issue Date: 2023-10-27 Comment

LLM.jpによる日本語LLMのリーダーボード。4-shotsでの結果、かつinstructionを与えた場合の生成テキストに対する評価、という点には留意したい。たとえばゼロショットで活用したい、という場合にこのリーダーボードの結果がそのまま再現される保証はないと推察される。

日本語LLMベンチマークと自動プロンプトエンジニアリング, PFN Blog, 2023.10 の知見でもあった通り、promptingの仕方によってもLLM間で順位が逆転する現象なども起こりうる。あくまでリーダーボードの値は参考値として留め、どのLLMを採用するかは、自分が利用するタスクやデータで検証した方がbetterだと思われる。

あとはそもそも本当にLLMを使う必要があるのか? [Paper Note] Prompt2Model: Generating Deployable Models from Natural Language Instructions, Vijay Viswanathan+, arXiv'23, 2023.08 のような手法ではダメなのか?みたいなところも考えられると良いのかもしれない。

以下サイトより引用
> 評価手法・ツール
このダッシュボードの内容はllm-jpで公開している評価ツール、llm-jp-evalで各モデルに対して評価を行なった結果である。llm-jp-evalは、既存のリーダボードとは行われている評価とは、主に以下のところで違っている。
AlpacaやBig-Benchなどを参考にした、インストラクションチューニングよりのプロンプトを入力として与えて、その入力に対するモデルの生成結果を評価する
>評価は基本、モデルが生成した文字列だけを使って行う
>Few shotでの評価を行っており、このダッシュボードには4-shotsでの結果を載せている

>評価手法・ツールの詳細はllm-jp-evalを是非参照されたい。

>評価項目・データセット
評価項目として、まず4つのカテゴリーにおける平均スコアを算出した。さらにその4カテゴリーの平均値の平均値をとった値がAVGである。
MC (Multi-Choice QA):jcommonsenseqa
NLI (Natural Language Inference):jamp、janli、jnli、jsem、jsick
QA (Question Answering):jemhopqa、niilc
RC (Reading Comprehension):jsquad

>それぞれのカテゴリの平均を出す方法に言語学的な意味はないため、最終的な平均値はあくまで参考値ということに注意されたい。

JGlueを利用した日本語LLMのリーダーボードとして Nejumi LLMリーダーボード, Weights & Biases などもある




My Issue
#Article #NLP #OpenWeight Issue Date: 2023-10-15 Comment

zephyr-7B-alpha
- 1/10のパラメータでLLaMA2-70Bw-chat超え
https://weel.co.jp/media/zephyr-7b-alpha

- zephyr-7B-β
 - MTBenchでllama2-70B-chat超え
 - [Paper Note] Zephyr: Direct Distillation of LM Alignment, Lewis Tunstall+, arXiv'23, 2023.10

Zephyr-7B-betaが早くもTheBloke氏によってGPTQで量子化され、なんとモデル自体は4.5G程度しかVRAMを消費しない…
https://huggingface.co/TheBloke/zephyr-7B-beta-GPTQ

- NVIDIA Nemotron-3 8B Models

- https://developer.nvidia.com/nemotron-3-8b\

- https://huggingface.co/nvidia/nemotron-3-8b-base-4k

- 53言語対応、37プログラミング言語対応, base / chatがある

- Mixtral8x7B: LLaMA2-70B, GPT-3.5-turboと同等の性能

- MistralをSparse Mixture of Expertsしたモデルの模様

- 名前の通り8つのFFNが存在しているが、Top-2のFFNが選択されその結果が集約され出力が決定される

https://mistral.ai/news/mixtral-of-experts/



- 日本語まとめ

- https://note.com/npaka/n/n6043bc8b01bc




Paper/Blog Link My Issue
#Article #NLP #Library #AIAgents #One-Line Notes Issue Date: 2023-09-30 Comment

以下の特徴を持つLLMAgent開発のためのフレームワーク

- long-short term memory
- tool usage
- web navigation
- multi-agent communication
- human-agent interaction
- symbolic control

また、他のAgent frameworkと違い、ゴールを達成するだの細かいプランニングを策定(SOP; サブタスクとサブゴールを定義)することで、エージェントに対してきめ細かなワークフローを定義できる。




Paper/Blog Link My Issue
#Article #Tutorial #NLP #Quantization #One-Line Notes Issue Date: 2023-09-29 Comment

量子化に関する技術であるGGML, GGUF, GPTQに関する詳細なまとめ

筆者の方の言葉を引用すると

>llama.cppならGGUF、TransformerならGPTQって感じ?



ということなので、これらは量子化を行うための技術を提供するライブラリであり、GGUF/GGMLはllama.cppで利用可能で、GPTQはより汎用的に利用可能な手法だと思われる。

GPTQについて論文をざっくり読んでメモった
- [Paper Note] GPTQ: Accurate Post-Training Quantization for Generative Pre-trained Transformers, Elias Frantar+, ICLR'23, 2022.10




Paper/Blog Link My Issue
#Article #NLP #SyntheticData #Distillation #Slide #Finetuning #One-Line Notes #DownstreamTasks #Reading Reflections Issue Date: 2023-09-05 Comment

GPT3でデータを作成したら、タスクごとに有効なデータ作成方法は異なったが、人手で作成したデータと同等の性能を達成するデータ(BERTでfinetuning)を、低コストで実現できたよ、という研究

この辺の話はもはや [Paper Note] Prompt2Model: Generating Deployable Models from Natural Language Instructions, Vijay Viswanathan+, arXiv'23, 2023.08 を使えばいいのでは、という気がする。




Paper/Blog Link My Issue
#Article #Survey #NLP #InstructionTuning #Selected Papers/Blogs #One-Line Notes Issue Date: 2023-09-05 GPT Summary- 指示調整(IT)に関する研究を総括し、LLMsの能力向上術を解説。ITは、(instruction, output)ペアを用いてLLMsを追加訓練し、人間の指示に従う能力を強化するプロセス。SFTの方法論、データセット構築、訓練、および応用を体系的にレビューし、成果に影響する要因を分析。さらに、SFTの課題や現行戦略の欠点を明らかにし、今後の研究の道筋を提案。 Comment

主要なモデルやデータセットの作り方など幅広くまとまっている(Figure1および各Table)

arxivに2023年8月に登場しその後も更新が続き、ACM Computing Surveys, Volume 58, Issue 7に2026年1月に掲載された模様
https://dl.acm.org/doi/10.1145/3777411




Paper/Blog Link My Issue
#Article #Tutorial #NLP #Slide #One-Line Notes Issue Date: 2023-09-04 Comment

岡崎先生による大規模言語モデルのチュートリアル

最近のLLMまでの歴史、transformerなどの基礎的な内容から、最新の内容まで数式付きで詳細にまとまっている




Paper/Blog Link My Issue
#Article #Tutorial #NLP #Supervised-FineTuning (SFT) #Blog #mid-training #PostTraining #needs-revision Issue Date: 2023-08-29 Comment

>LLMのファインチューニングは、「形式」の学習は効果的ですが、「事実」の学習は不得意です。

> シェイクスピアの脚本のデータセット (tiny-shakespeare) の
「ロミオ」を「ボブ」に置き換えてファインチューニングして、新モデルの頭の中では「ロミオ」と「ボブ」をどう記憶しているかを確認します。

ファインチューニングしても、Bで始まるジュリエットが恋する人物について質問しても、ボブと答えてはくれない。
> ロミオ」は「ジュリエット」が恋していたこの男性に関連付けられており、「ロミオ」を「ボブ」に置き換えるファインチューニングでは、ニューラルネットワークの知識ベースを変更することはできませんでした。

なるほど。

参考: https://www.anyscale.com/blog/fine-tuning-is-for-form-not-facts?ref=blog.langchain.dev

関連:

Loading…




Paper/Blog Link My Issue
#Article #NLP #Library #Blog #OpenWeight #Japanese #KeyPoint Notes Issue Date: 2023-08-29 Comment

商用利用可能、70億パラメータ。
ELYZA社が独自に作成した評価セットでは日本語のOpenLLMの中で最高性能。ただし、モデル選定の段階でこの評価データの情報を利用しているため、有利に働いている可能性があるとのこと。

一般的に利用される日本語の評価用データでは、なんとも言い難い。良いタスクもあれば悪いタスクもある。が、多分評価用データ自体もあまり整備は進んでいないと想像されるため、一旦触ってみるのが良いのだと思う。




Paper/Blog Link My Issue
#Article #NLP #Library #ExperimentManagement #One-Line Notes Issue Date: 2023-08-28 Comment

MTでのテクニカルレポート
https://github.com/zeno-ml/zeno-build/tree/main/examples/analysis_gpt_mt/report

LLMの実験管理を容易に実施するツールで、異なるハイパーパラメータ、異なるモデル、異なるプロンプトでの実験などを簡単に実施できる。評価結果を自動的に可視化し、interactiveに表示するブラウザベースのアプリケーションも作成可能?




Paper/Blog Link My Issue
#Article #Embeddings #NLP #STS (SemanticTextualSimilarity) #Blog #Encoder #One-Line Notes Issue Date: 2023-07-31 Comment

[JSTSタスク]( https://github.com/yahoojapan/JGLUE)では、[Tohoku BERT v3]( https://github.com/cl-tohoku/bert-japanese/tree/main#model-performances) と [LUKE]( https://github.com/studio-ousia/luke)が最も性能が良いらしい。

[SimCSE]( https://huggingface.co/pkshatech/simcse-ja-bert-base-clcmlp)よりも性能が良いのは興味深い。




Paper/Blog Link My Issue
#Article #NLP #Library #Alignment #Supervised-FineTuning (SFT) #ReinforcementLearning #PostTraining #One-Line Notes #Reference Collection #needs-revision #TrainingFramework Issue Date: 2023-07-23 Comment

関連:
- TRL - 強化学習によるLLMの学習のためのライブラリ, npaka, 2023.06
- https://note.com/npaka/n/nbb974324d6e1

関連:
- trlを使って日本語LLMをSFTからRLHFまで一通り学習させてみる, AI SHIFT, 2023.07
- https://www.ai-shift.co.jp/techblog/3583




Paper/Blog Link My Issue
#Article #NLP #Dataset #DialogueGeneration #Blog #One-Line Notes Issue Date: 2023-07-22 Comment

33kのconversation、2つのレスポンスに対する人間のpreferenceスコア付き
20種類のSoTAモデルのレスポンスを含み、13kのユニークIPからのアクセスがあり、3Kのエキスパートによるアノテーション付き




Paper/Blog Link My Issue
#Article #NLP #Explanation #Evaluation #ACL Issue Date: 2023-07-14 GPT Summary- 本研究では、説明可能なNLPモデルのトレーニングにおいて、人間による注釈付けの説明の品質を評価する方法について検討しています。従来のSimulatabilityスコアに代わる新しいメトリックを提案し、5つのデータセットと2つのモデルアーキテクチャで評価しました。結果として、提案したメトリックがより客観的な評価を可能にする一方、Simulatabilityは不十分であることが示されました。

Paper/Blog Link My Issue
#Article #MachineLearning #Tools #Supervised-FineTuning (SFT) #FoundationModel #One-Line Notes #needs-revision #TrainingFramework Issue Date: 2023-06-26 Comment

一般的なFoundation Modelのファインチューニングと推論を簡素化する拡張可能なツールキット。継続的なpretragning, instruction tuning, parameter efficientなファインチューニング,alignment tuning,大規模モデルの推論などさまざまな機能をサポート。

Loading…




Paper/Blog Link My Issue
#Article #NaturalLanguageGeneration #NLP #FoundationModel #Blog #Coding #KeyPoint Notes #needs-revision Issue Date: 2023-05-06 Comment

・15.5Bパラメータ
・80種類以上のプログラミング言語で訓練
・Multi Query Attentionを利用
・context window size 8192
・Fill in the middle objectiveを利用

Instruction tuningがされておらず、prefixとsuffixの間を埋めるような訓練のされ方をしているので、たとえば関数名をinputして、そのmiddle(関数の中身)を出力させる、といった使い方になる模様。

paper: https://drive.google.com/file/d/1cN-b9GnWtHzQRoE7M7gAEyivY0kl4BYs/view

StarCoder:
https://huggingface.co/bigcode/starcoder

StarCoderBaseを35Bのpython tokenでfinetuningしたモデル。
既存モデルよりも高性能と主張

image




Paper/Blog Link My Issue
#Article #NLP #Blog #OpenWeight #One-Line Notes Issue Date: 2023-05-06 Comment

新たなオープンソースLLM。
下記ツイートより引用:

・商用利用可能
・6万5000トークン使用可能
・7Bと比較的小さいモデルながら高性能
・日本語を扱え性能が高い

とのこと。

Loading…

ChatGPTのLLMと比較すると、ざっと例を見た感じ質問応答としての能力はそこまで高くなさそうな印象。
finetuningしない限りはGPT3,GPT4で良さげ。

github: https://github.com/mosaicml/llm-foundry




Paper/Blog Link My Issue
#Article #NLP #Evaluation #Selected Papers/Blogs #One-Line Notes #Arena Issue Date: 2023-05-04 Comment

クラウドソーシング型のチャットボット評価するシステム。ユーザはシステムにアクセスすると、二つのanonymisedされたLLMと対話し、どちらが優れていたかをvotingする。すべてのシステムとユーザのinteractionはロギングされており、最終的にElo RatingでLLM.をランキング付けする。

Arena-Hardと呼ばれるliveアリーナデータを用いたパイプラインを公開。MT-Benchよりも識別力が高く、Chatbot Arenaのランキングとのagreementが高いとのこと。

参考:

Loading…


image

過去のデータについては Chatbot Arena Conversation Dataset Release, LMSYS Org, 2023.07 などもある




Paper/Blog Link My Issue
#Article #NeuralNetwork #EfficiencyImprovement #NLP #Supervised-FineTuning (SFT) #PEFT(Adaptor/LoRA) #Slide #PostTraining #Selected Papers/Blogs #KeyPoint Notes Issue Date: 2023-04-25 Comment

ベースとなる事前学習モデルの一部の線形層の隣に、低ランク行列A,Bを導入し、A,Bのパラメータのみをfinetuningの対象とすることで、チューニングするパラメータ数を激減させた上で同等の予測性能を達成し、推論速度も変わらないようにするfinetuning手法の解説

LoRAを使うと、でかすぎるモデルだと、そもそもGPUに載らない問題や、ファインチューニング後のモデルファイルでかすぎワロタ問題が回避できる。

前者は事前学習済みモデルのBPのための勾配を保存しておく必要がなくなるため学習時にメモリ節約になる。後者はA,Bのパラメータだけ保存すればいいので、ストレージの節約になる。

かつ、学習速度が25%程度早くなる。

既存研究であるAdapter(transformerの中に学習可能なMLPを差し込む手法)は推論コストが増加し、prefix tuningは学習が非常に難しく、高い性能を達成するためにprefixとして128 token入れたりしなければならない。

huggingfaceがすでにLoRAを実装している
https://github.com/huggingface/peft




Paper/Blog Link My Issue
#Article #NeuralNetwork #NLP #KeyPoint Notes Issue Date: 2021-09-09 Comment

GPT-3の概要:

GPT-3はWebサイトから数年に渡って収集したCommon Crawlというデータセットから、570GBを抜粋し学習に利用。(英語ウィキペディアの約130倍)
ある単語列に後続する単語を予測するという方法(自己回帰型言語モデル)で教師なし学習を繰り返し、言語モデルを学習。

GPT-3の特徴:
・モデルが巨大(1750億パラメータ, GPT-2は15億)
 - 扱うトークン数が2048トークン(GPT-2の倍)
 - Word Embeddingの次元数12288(GPT2の倍
 - デコード層が98層(GPT2の倍
・基本的なモデル構造はTransformerと一緒

GPT-3の問題点:
・コーパス中の言語出力を模倣しているだけで、何ら理解をしておらず、常識も持ち合わせていない
 - e.g. 私の足に目はいくつある?と入力すると、2つと出力する等
 - 整理された知識を獲得しているわけではない
・偏見や差別、誤った知識も学習する
・時間的、経済的負荷の大きさ
 - GPT-3を最大規模で計算するには5億円かかる
 - 1台のGPUで355年必要な計算量
 → 個人や小規模業者が実行できる範囲を超えており、大企業でもコストに見合った出力が得られるとは考えにくい

GPT-3の産業応用
・GPT-3は言語モデルであり、言語生成器ではない
 - 人間が書いて欲しいことをおおまかに伝えたらそれを書いてくれるわけではない(代筆)
 → GPT-3が小論文や業務レポートを書けると考えるのは早計
 - 入力として英文や英単語を入力するが、生成する文章の分野や話題を提示しただけであり、生成する文章にそれ以上の制御は行っていない

・生成内容を強く制御できないことは創作活動にとっては有用
 - 俳句、短歌、詩の生成
 - キャッチコピーの自動生成
 - ダミー文章生成(ブログやツイート)
 - 文章添削、校正に使える可能性(要研究;文章を正しく、綺麗に書く能力は高い)

GPT-3でどこまでできそうなのか?というざっくりとした肌感が掴めたから良かった




Paper/Blog Link My Issue
#Article #Tutorial #NLP #Slide #Reference Collection #Reading Reflections Issue Date: 2020-01-13 Comment

自然言語処理の王様「BERT」の論文を徹底解説

https://qiita.com/omiita/items/72998858efc19a368e50

Transformer関連 [Paper Note] Attention Is All You Need, Ashish Vaswani+, NeurIPS'17, 2017.07 あたりを先に読んでからが読むと良い



要は

・Transformerをたくさん積んだモデル

・NSPとMLMで双方向性を持った事前学習タスクを実施することで性能向上

・pooler layer(Transformer Encoderの次にくっつくlayer)を切り替えることで、様々なタスクにfine-tuning可能(i.e. pooler layerは転移学習の対象外)

・予測する際は、[CLS]トークンに対応する位置の出力を用いて分類問題や複数文間の関係性を問う問題を解いたり、各トークン位置に対応する出力を用いてQAの正解spanを予測したり、色々できる

・gMLP MLP-like Architecture あたりの研究が進んでくると使われなくなってくる可能性有

こっちの記事もわかりやすい。



BERTについて勉強したことまとめ (2)モデル構造について

https://engineering.mobalab.net/2020/06/12/bert%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6%E5%8B%89%E5%BC%B7%E3%81%97%E3%81%9F%E3%81%93%E3%81%A8%E3%81%BE%E3%81%A8%E3%82%81-2%E3%83%A2%E3%83%87%E3%83%AB%E6%A7%8B%E9%80%A0%E3%81%AB%E3%81%A4%E3%81%84/




Paper/Blog Link My Issue
#Article #NeuralNetwork #Survey #NLP #Slide #Selected Papers/Blogs #KeyPoint Notes Issue Date: 2019-11-09 Comment

[2019/06まで]

・ELMo(双方向2層LSTM言語モデル)

・GPT(left-to-rightの12層Transformer自己回帰言語モデル)

・BERT(24層のTransformer双方向言語モデル)

・MT-DNN(BERTの上にマルチタスク層を追加した研究)

・XLM(パラレル翻訳コーパスを用いてクロスリンガルに穴埋めを学習)

・TransformerXL(系列長いに制限のあった既存モデルにセグメントレベルの再帰を導入し長い系列を扱えるように)

・GPT-2(48層Transformerの自己回帰言語モデル)

・ERNIE 1.0(Baidu, エンティティとフレーズの外部知識を使ってマスクに利用)

・ERNIE(Tsinghua, 知識グラフの情報をfusionしたLM)

・Glover(ドメイン、日付、著者などを条件とした生成を可能としたGPT)

・MASS(Encoder-Decoder型の生成モデルのための事前学習)

・UniLM(Sequence-to-Sequenceを可能にした言語モデル)

・XLNet(自己回帰(単方向)モデルと双方向モデルの両方の利点を得ることを目指す)



[2019/07~]

・SpanBERT(i.i.dではなく範囲でマスクし、同時に範囲の境界も予測する)

・ERNIE 2.0(Baidu, マルチタスク事前学習; 単語レベル・構造レベル・意味レベル)

・RoBERTa(BERTと同じ構造で工夫を加えることで性能向上)

 - より大きなバッチサイズを使う(256から8192)

 - より多くのデータを使う(16GBから160GB)

 - より長いステップ数の学習をする(BERT換算で16倍)

 - 次文予測(NSP)は不要

 → GLUEでBERT, XLNetをoutperform

・StructBERT (ALICE, NSPに代わる学習の目的関数を工夫)

 - マスクした上で単語の順番をシャッフルし元に戻す

 - ランダム・正順・逆順の3種類を分類

 → BERTと同サイズ、同データでBERT, RoBERTa超え

・DistilBERT(蒸留により、12層BERTを6層に小型化(40%減))

 - BERTの出力を教師として、生徒が同じ出力を出すように学習

 - 幅(隠れ層)サイズを減らすと、層数を経あrスよりも悪化

 → 推論は60%高速化、精度は95%程度を保持

・Q8BERT(精度を落とさずにfine-tuning時にBERTを8bit整数に量子化)

 - Embedding, FCは8bit化、softmax, LNorm, GELUは32bitをキープ

 → モデルサイズ1/4, 速度3.7倍

・CTRL(条件付き言語モデル)

 - 条件となる制御テキストを本文の前に与えて学習

 - 48層/1280次元Transformer(パラメータ数1.6B)

・MegatronLM(72層、隠れ状態サイズ3072、長さ1024; BERTの24倍サイズ)

・ALBERT(BERTの層のパラメータをすべて共有することで学習を高速化; 2020年あたりのデファクト)

 - Largeを超えたモデルは学習が難しいため、表現は落ちるが学習しやすくした

 - 単語埋め込みを低次元にすることでパラメータ数削減

 - 次文予測を、文の順序入れ替え判定に変更

 → GLUE, RACE, SQuADでSoTAを更新

・T5(NLPタスクをすべてtext-to-textとして扱い、Enc-Dec Transformerを745GBコーパスで事前学習して転移する)

 - モデルはEncoder-DecoderのTransformer

 - 学習タスクをエンコーダ・デコーダに合わせて変更

 - エンコーダ側で範囲を欠落させて、デコーダ側で予測

 → GLUE, SuperGLUE, SQuAD1.1, CNN/DMでSoTA更新

・BART(Seq2Seqの事前学習として、トークンマスク・削除、範囲マスク、文の入れ替え、文書の回転の複数タスクで学習)

 → CNN/DMでT5超え、WMT'16 RO-ENで逆翻訳を超えてSoTA

ELMo, GPT, BERT, GPT-2, XLNet, RoBERTa, DistilBERT, ALBERT, T5あたりは良く見るような感

各データセットでの各モデルの性能も後半に記載されており興味深い。



ちなみに、CNN/DailyMail Datasetでは、T5, BARTあたりがSoTA。

R2で比較すると

 - Pointer-Generator + Coverage Vectorが17,28

 - LEAD-3が17.62

 - BARTが21.28

 - T5が21.55

となっている