2024-04-11 機械学習勉強会
今週のTOPIC
※ [論文] [blog] [slide]など何に関するTOPICなのかパッと見で分かるようにしましょう。
出典を埋め込みURLにしましょう。
@Naoto Shimakoshi
[論文] DMOps: Data Management Operations and Recipes, ICML2023
- 多くの場合、実務ではオープンソースとベンチマークのデータセットでは不十分なことが多い。そのため、特定のタスクを開始するにはまずデータの作成が常に必要なStepになる。
- NLPデータセットにおけるビジネスの観点からデータアノテーションと評価に至るまでの全プロセスを「Data Management Operations and Recipes (DMOps)」として提案
- 全部で以下の12step
- 重要なところだけをPickすると
- 1. Establish the Project Goal
- NLPエンジニアとビジネスオペレーターとの協働が重要
- 既存のベンチマークデータセットを強化する学問とは異なり、ビジネスではユーザと顧客のニーズから開始する
- このGapは理解しなければいけない
- 4. Design a Data Schema
- 学術界では事前に決まってることが多いが、ビジネスでは顧客のニーズに応じて再設計が必要
- 「情報抽出(IE)で抽出する意味のある情報はどのようなものか?」
- 「NERにおいて、どのような実体をタグ付けするか?」
- 8. Data Annotaion
- 質問ログをちゃんと残せる環境
- NLPのアノテーションでは、アノテーションツールの開発が最も重要
- スケーラビリティを考慮しなければいけない
- 人間のアノテータを支援できるもの
- 9. Data Internal Factor Verification
- よく発生するヒューマンエラーを特定して、議論を通じてエッジケースを整理
- まず10個のデータに対してラフアノテーションを行い、コンセンサスが取れてるかを確認 → 全てのデータにアノテーション
- アノテーション → データ検査できる効果的な仕組みが重要
- Data Evaluation via Model Verification
- 実際のモデリングによるデータ品質調査
- データ量を増やす実験を行い、データ効率を調査する。
- エラーを見ることで5のアノテーションガイドを作るところに戻ることもある
[Slide]NLP2024の論文を対象にテキスト生成の自動評価について分析してみた
- LLMで生成したテキストを自動評価、特にLLMを利用して自動評価している論文をLLMを使って分析した話
- 日本語タスクにおいて自動評価が人間による手動評価とどれほど相関するのか、という点が興味
- NLP2024の全論文を対象に、GPTを利用して二段階の解析をかけ、結果を分析
- GPTを用いて自動評価したものは人手評価と相関があるものが高そう
- ROUGEやBERT_Scoreなど、従来の指標は人手評価と相関しないケースが目立った。
- この結果も面白かったのですが、LLMを使って大量の情報から欲しい情報を得るという作業を効率化している点が面白かったです。
Tenkys The Data-Centric Approach to Computer Vision
- コンピュータビジョン系のタスクに特化したMLOpsプラットフォーム
- 解いてるイシュー
- 機能例
- Data Quality Analysis
- Multiclass Confusion Matrix
- 推論結果を以下に分類
- True Positive
- correct model prediction. A prediction is matched with an annotation of the same class (this definition is the same as always).
- Undetected
- missing model prediction. An annotation is not matched to any prediction (this definition is the same as the False Negative definition from before).
- Mispredicted
- incorrectly-predicted class. A prediction is matched with an annotation of a different class (this would have been graded as a False Positive).
- Ghost Prediction
- incorrect prediction. A prediction is not matched with any annotation (this would have also been graded as a False Positive).
- →エラーの分布やエラーごとの特徴を分析
[論文] Simple and Scalable Strategies to Continually Pre-train Large Language Models, 2024
ひとことまとめ
大規模言語モデル(LLM)の継続事前学習のための、シンプルでスケーラブルな学習戦略がtipsとしてまとまった論文
継続事前学習とは
- 継続事前学習とは、大規模言語モデル(LLM)が新しいデータセットで順次学習を行う際に、以前のデータセットで学習した知識を保持しつつ、新しいデータセットに適応するための学習方法
- LLMを最初から学習するのではなく、事前学習モデルを追加データで継続事前学習することで、計算コストを大幅に削減できる。
継続事前学習tips
- learning rateのwarm upとdecay
- データセットが切り替わり、新しいデータセットで追加で継続事前学習する際は、またwarm upとdecayをする
- データリプレイ
- 新しいデータセットで学習する際に、以前のデータセットからサンプルしたデータを一定割合混ぜて学習することで、以前のデータセットで学習した過去の知識の忘却を防ぐ
- データリプレイするサンプルの割合調整
- data replayをどのくらいの割合でするか
- 基本5%
- 弱い分布シフト(英語データセットから英語データセット)は1%
- 強い分布シフト(英語データセットから日本語データセット)は25%
- infinite learning rate schedule
- warm upはした方がいいが、最適化が難しく前のデータセットの知識を忘却してしまいがち
- そのためのlearning rateスケジューリング
- Linear warm-up phase(線形ウォームアップフェーズ)
- Cooldown phase(クールダウンフェーズ)
- Constant phase(一定フェーズ)
- Annealing phase(アニーリングフェーズ)
- 一定の学習率で学習し、最後にlearning rateを指数関数的に減少させて小さい値することで、モデルを最適に収束させることができる
- 強い分布シフトの場合、infinite learning rateはきかない
- 弱い分布シフト → infinite learning rate schedule
- 強い分布シフト → 普通にwarm up?
- モデルスケール
- モデルパラメータ数が多いほど、継続事前学習がより効果的になる傾向がある
- ただ、計算コストとのトレードオフ次第
- 事前学習データの混合
- 継続事前学習を行う際は、ドメインごとにデータを順番に学習するよりも、異なるドメインのデータを混合して学習すると効果的
- tokenizerの適応
- 継続事前学習では、モデルは複数のデータセットを順番に学習し、これらのデータセットは、異なるドメインやジャンルから収集されることが多く、データの分布が大きく異なる可能性高い
- トークナイザーもデータの分布に合わせて適応させる必要がある
[論文] WikiSQE: A Large-Scale Dataset for Sentence Quality Estimation in Wikipedia, AAAI2024
- AAAI2024に採択された論文(日本人著者)
- Wikipediaの文章品質推定のデータセットを作成した
- https://github.com/ken-ando/WikiSQE
- 既存の取り組み(Wikipedia’s Botや既存研究)では、単純な間違い検知に限定されていたり、何か特定の観点に特化したラベリングが主流だった
- 様々な観点のラベルを付与し、LLMの学習データにも使える高品質なデータセットにした。
- ラベルの例
- According to Japanese records, the term kendo is coined in Japan on August 1, 1919.[citation needed]
- However, many analysts[who?] are finding that as Google grows, the company is becoming more ”corporate”.
- データ作成方法
- 過去の編集者が付与したInline cleanup templates(文章に付けるコメントのテンプレ)を利用
- 文章の品質に関するテンプレートを選びつつ153個のラベルを用意
- テンプレ自体も変化していくので、過去の履歴もチェックし過去と今のテンプレの対応関係も整理
- 作成されたラベル例
- 作成したデータセットを使い、機械学習による自動化とクラウドソーシングによるアノテーションとの精度を比較した
- 登場頻度の多い20ラベルに絞って、そのラベルが付与されているかどうかの二値分類として学習・推論
- 機械学習モデルの予測結果
- Information additionのようなラベルを付与する表現が似通っているものは精度が高い
- When? は時間に関する表現に付与される
- 文脈や意味を捉える項目は比較的精度が低くなる
- non-expertによるアノテーション(クラウドソーシングのAPPENを利用。)と比較
- アノテーションは2つ文章(片方が正解)を提示して、あるラベルをどちらに付与すべきかを質問するpairwise形式
- 精度結果
- 人間の精度よりも機械学習モデルの方が高精度。Citationは人間の方が高い
- GPT-4もある程度高い。特にバイアスに関する項目が高い(GPT-4の公平性を重視した訓練が影響している?)
- expert(wikipedia編集者)のデータからクラウドソーシングするよりも高精度に予測できるモデルが学習できている
[論文] Ferret-UI: Grounded Mobile UI Understanding with Multimodal LLMs
- Appleが、スマートフォンのアプリUIを理解するために設計したマルチモーダル大規模言語モデル(MLLM)の「Ferret-UI」を開発したという論文
- 以下のようにモバイルUIにおけるウィジェットの分類やアイコンの認識、OCRを実行することができる
- 特徴としては、UIタスクに特化したトレーニングデータセットを用いたことと、any resolution と呼んでいる元の画像をサブイメージに分割してImage Encoderに入力することでモデルは画面全体のコンテキストを把握すると同時に、サブイメージを通じて得られる拡大された詳細に基づいた理解が可能になるとのこと
Accelerating Batch Active Learning Using Continual Learning Techniques
ICML 2023
Arnav Das Gantavya Bhatt Megh Bhalerao Rui Yang Vianne Gao Jeff Bilmes
DMLR (Data-centric Machine Learning Research) というコミュニティがあり、そこがICML 2023でworkshopを開催した際の論文
概要
- Active Learning (AL)における大きな課題である、高いトレーニングコストに対処するための新しいフレームワーク、Continual Active Learning(CAL)を提案。
- 既存の手法で、warm start (昔のモデルを新しいデータで再訓練)するとcatastrophic forgettingを発生させたり、訓練を加速させることに失敗させたりする。
- Continual Learningのリプレイベースの技術を取り入れることで、データが新しい分布から来る際に古いデータを忘れずに新しいデータを効果的に学習することができるようになった。
- 自然言語、視覚、医療画像、計算生物学など、様々なデータ領域で、それぞれ異なるアーキテクチャ(transformers/CNNs/MLPs)とデータセットサイズで実験を行い、どの場合も一貫して訓練時間を約3倍短縮しながら、パフォーマンスと分布外ロバスト性を維持することに成功した。
Introduction
Active Learningとは
- ラベル付されていない大規模なデータプールから、精度向上に重要なsubsetを選択しアノテータにわたすという作業を何回も繰り返す
- ABEJAさんの記事とかも参考になる
- このような手法は通常
- 現在のラベル付データで最初から訓練し直し
- モデルの不確実性や、多様性の観点から選択したデータをアノテータに渡す
- 学習データを削減できることは示されているが、各クエリラウンドで毎回1から訓練をし直すことが高コスト
単純な解決策の問題点
- warm startさせるのが単純な解決策だが、データ量がどんどん増えていくので訓練の高速化が限定的になる
- 上記のような単純な方法では、汎化能力が失われるという指摘もある
- 新しくラベル付されたデータのみでwarm startさせるという方法もあるが、毎回クエリされるデータの分布は違うものになりがち
- このようなcatastrophic forgetting (破滅的忘却)の問題はContinual Learningという研究分野でも中心的な問題になっている
本論文の貢献
- Continual Learningの考え方を組み込んだContinual Active Learning (CAL)を提案し、訓練時間の大幅な削減を達成
- 環境面でもお金の面でのコストも削減できる
- ALの計算量を減らすことで、エッジコンピューティングやFederated Learningのような低リソースデバイスでの活用も考えられる
- 新しいALアルゴリズムやアーキテクチャの探索がやりやすくなる
- Continual Learningの実用的な応用先としての実証も行った。
- 通常、CLの研究では非現実的なデータセットであることが多い
- Batch Active Learningに対してCLを応用した研究は今までない
- モダリティが異なるデータセット、異なるアーキテクチャ、異なるデータ規模、異なるクラスバランスなど様々な条件で比較し、通常のBatch ALと同様の精度を達成することを証明した。
手法の背景
Batch Active Learning
- 、を input、を output、をラベル付されていないデータセットとする
- ALの設定では、パラメータを持つモデルは の中の任意のデータについてラベル付けを依頼することができるが、予算 (アノテーションコスト)の都合上、に限定される
- ここでは例として、bのラベル付された画像のみを用いて低いエラーを達成する画像分類器を作成することに焦点を当てる
- 一般的なActive Learningのアルゴリズム
- 3-6行目:まず部分集合を作成して、ラベル付けして学習
- 7-14行目:でランダムな初期化から収束するまで学習し、何かしらの選択基準に基づいてを選択
- 多様性サンプリングか不確実性サンプリングが一般的
- 本研究では不確実性サンプリングを検討 (付録で他のものも比較はしている)
- 不確実性サンプリング
- をモデルの不確実性を最大化するように選択する。
- エントロピーを不確実性指標として利用する
- 要するにモデルの推論確率がバラけてるやつをサンプリングする
Continual Learning
- と定義する。のようなサンプルの集合で、 はにおけるサンプルのindex。
- CLではデータセットが 個のタスクからなる。時刻ではモデルは履歴と現在タスクにしかアクセスできない。
- CLの目的は、履歴の性能が著しく低下しないようにしながら、モデルを効率的にに適応させていく。
- 本研究の場合は、のサンプルを用いて、に適応させながらモデルを正則化し、CL最適化を近似的に解こうとするリプレイベースの技術に焦点を当てる
- 一般的なリプレイベースのContinual Learningのアルゴリズム
- は現在のタスクのからランダムに個サンプリングしたもの
- は過去のタスクのからある選択基準でに個サンプリングしたもの
- 7行目で二つのデータセットを用いた更新が行われる
- 多くのCL研究では、からどのサンプルを保持するかが重要。ただ、AL文脈では、データセットをなるべく小さくするという背景があるため、を考える。
Active LearningとContinual Learningの融合
- Introでも書いた新しいデータサンプルでのみ追加学習するやり方だと過去のサンプルの性能が急激に落ちる
- CIFAR-10の1のみで学習 → 2のみで学習…とやっていくと次のtaskの時には忘却が起きている
- 新しいデータで学習をしているが、検証セットでの精度はほぼ横ばい
- この問題に対処するためのContinual Active Learningのアルゴリズム
- アルゴリズム1との違いは9行目にContinual Learningが入っていること
- 普通のALより高速化されるのは、以下の二つによる
- より勾配更新に有用な全体で学習するより低コストになる
- warm startなので、より高速に収束する
リプレイベースの手法
Experience Replay (CAL-ER)
- 最も古い、最も単純な手法
- とをinterleaveし、個のサンプルを作る。
- はからrandom sampling
Maximally Interfered Retrieval (CAL-MIR)
- 忘れられやすい個をからsampling
- から個のサンプルを取得し、それで仮想的に学習をしたとするときに、損失関数の差が最も大きくなるような個をsampling
- 実際には、全てに対して損失関数の差を計算するのはコストがかかるため、random samplingを行う
Dark Experience Replay (CAL-DER)
- Distillationベースのアプローチ
- はからrandom sampling。過去のそのサンプルに対するロジットを保持しておく。
- 以下の損失関数を最適化
- 1項目:現在のタスクがうまく解けてるか
- 2項目:ロジットが過去のものを再現できているか (MSE)
- 3項目:過去のタスクがうまく解けているか
Scaled Distillation (CAL-SD)
- 今回新しく提案する手法
- 以下のようにを定義
- 1項目:DERでMSEでやっていたところを過去のロジット とのKLダイバージェンスを使うことで、lossのスケールを揃える
- 最終的には以下を最適化。のようにして安定 / 可塑性 のトレードオフを制御してる (CLでよく知られた制約)
- 安定的なネットワークは過去の情報を効果的に保持できるが、新しいタスクに効率的に適応できない
- 可塑的なネットワークは新しいタスクを素早く学習できるが、忘却しやすい
- を直感的に表現するとは徐々に大きくなっていくので、初期は可塑的なネットワークで、だんだん安定的なネットワークになっていく。
Scaled Distillation w/ Submodular Sampling (CAL-SDS2)
- CAL-SDでモデルを正則化しつつ、サブモジュラーサンプリングを用いて、多様なセットをから選択する。
- サブモジュラー関数は、多様性と中心性の概念を捉えるのに適していることが知られている。今回は以下のような関数を使用する。
- 1項目:facility location functionと呼ばれる最適な点を見つける関数。で二点の類似度スコア。
- 最もから類似度スコアが大きい (似てない)サンプルを持ってきてに対してsumを取る
- 2項目:はモデルの出力分布のエントロピーなどの、モデルの不確実性の標準的なAL指標
- 両項は単調減少しない劣モジュラ ()。は新しくサンプリングするサンプル、 は既にサンプリングされたサンプル?
- 要するに、の中でもなるべく不確実性のあるものかつ、既存のサンプルと似てないものを選びたい。が大きい順に貪欲的に選んでいく。
- logをかけてる理由はfacility location functionとスケールを合わせるため。
劣モジュラとは
ある集合関数 が劣モジュラであるとは、全てのに対して以下の不等式が成り立つこと
要するに、追加的な要素 が集合に与える影響はそのサイズが小さいほど大きい、ということ。
実験結果
- データセット (全部Classification)
- FMNIST
- CIFAR-10
- MedMNIST
- Amazon Polarity Review
- COLA
- Single-Cell Cell Type Identity Classification
- 実験設定
- 全てのデータセットの10%から50%を使用上限 ()とする
- ALベースラインに対する精度の相対的な向上と速度がどれだけ向上したかを調査
- を固定した時のspeed up (データセット平均)
- CAL-ERは平均として下がってしまっているが、CAL-DERは平均として精度向上かつスピードも上がってる
- データセットを固定した場合
- CAL-ERは高速だが、精度が著しく下がる場合もある
- 蒸留項が含まれると良い性能になりやすい
- Robustness
- CIFAR-10Cデータセットの50%データセットを使って、Robustnessを評価
- コントラストを変えるなど色々な方法で1部のデータに破損を加えたCIFAR-10データセット
- 各破損に対する3つのrandom seedで行った平均精度
- (分散大きいけど) CAL-SDS2はCAL-DERより精度が高い