2 ポイント 投稿者 GN⁺ 2023-12-24 | 1件のコメント | WhatsAppで共有
  • Ferretは自由形式の指示対象を入力として受け取り、応答内で位置を根拠づけるエンドツーエンドのMLLMであり、細粒度かつ位置に縛られない参照・グラウンディングを目指す
  • 中核構成はHybrid Region RepresentationSpatial-aware Visual Samplerであり、これによりMLLMで細かなopen-vocabulary参照とグラウンディングを支援する
  • プロジェクトは約110万件のGRIT Dataset、Ferret-Bench、7B・13Bチェックポイントのdelta、学習・評価・デモ実行手順をあわせて提供する
  • 学習は8×A100 80GB環境を基準としており、GPU数が少ない場合はグローバルバッチサイズを維持するようper_device_train_batch_sizegradient_accumulation_stepsnum_gpusの組み合わせを調整する必要がある
  • データとコードは研究目的専用であり、データセットはCC BY NC 4.0のため非商用利用のみ許可され、LLaMA、Vicuna、GPT-4のライセンス条件にも従う必要がある

Ferretの目標と構成

  • Ferretは「Refer and Ground Anything Anywhere at Any Granularity」を掲げるエンドツーエンドMLLM
  • 任意形式の参照入力を受け入れ、応答内で対象をグラウンディングする機能を目指している
  • 主な貢献は3つに整理される
    • Ferret Model: Hybrid Region RepresentationとSpatial-aware Visual Samplerを用い、細粒度のopen-vocabulary参照とグラウンディングを可能にする
    • GRIT Dataset: 約110万件規模の大規模・階層的・堅牢なground-and-refer instruction tuningデータセット
    • Ferret-Bench: 参照・グラウンディング、意味、知識、推論を同時に要求するマルチモーダル評価ベンチマーク

リリースとモデル状況

  • 2024年10月8日にFerret-UIが公開
    • UI中心のMLLMで、referring、grounding、reasoningタスクを効果的に実行できると紹介されている
  • 2024年7月10日にFerret-v2COLM 2024に採択
  • 2024年2月15日にFerretがICLR 2024 Spotlightに採択
  • 2023年12月14日にFerretチェックポイント 7B・13Bが公開
  • 2023年10月30日にFERRETモデルコードとFerret-Benchが公開

インストールと学習条件

  • インストールはリポジトリをクローンした後、python=3.10のConda環境でパッケージを導入する流れ
    • pip install -e .
    • pycocotools
    • protobuf==3.20.0
  • 学習用の追加パッケージとしてninjaflash-attn --no-build-isolationのインストールが必要
  • FERRET学習の基準環境はA100 GPU 8基、各80GBメモリ
  • より少ないGPUで学習する場合はグローバルバッチサイズを維持する必要がある
    • グローバルバッチサイズ = per_device_train_batch_size × gradient_accumulation_steps × num_gpus
  • ファインチューニングのハイパーパラメータはLLaVA(Vicuna)に近い構成を採用
    • FERRET-7B: Global Batch Size 128, Learning rate 2e-5, Epochs 3, Max length 2048, Weight decay 0
    • FERRET-13B: Global Batch Size 128, Learning rate 2e-5, Epochs 3, Max length 2048, Weight decay 0

ベースモデルとチェックポイントの利用

  • 学習前にVicuna v1.3ベースモデルの重みを準備する必要がある
  • LLaVAの第1段階事前学習projector重みも必要
    • 7B projector
    • 13B projector
  • 公開チェックポイントは事前学習済みモデル全体ではなく、Vicunaとの差分であるdelta形式で提供される
  • 利用者はまずVicuna重みを取得し、その後Ferretの7Bまたは13B deltaをダウンロードして、ferret.model.apply_deltaスクリプトでVicuna重みにoffsetを適用する必要がある
  • Appleが提供するweight differentialsにはCC-BY-NCライセンスが適用され、LLaMAやその他のサードパーティソフトウェアはそれぞれの条件に従う

評価とデモ実行

  • 評価の詳細手順は別文書EVAL.mdで扱われている
  • ローカルデモはGradio Web UIを使用し、FERRETの学習済みチェックポイントのローカル利用が必要
  • デモ実行の流れは3段階
    • controller起動: ferret.serve.controller
    • Gradio Webサーバー起動: ferret.serve.gradio_web_server
    • GPU上で推論を行うmodel worker起動: ferret.serve.model_worker
  • model workerは--model-pathで指定された単一モデルを担当する
  • モデルの読み込みが完了し、「Uvicorn running on ...」と表示されたら、Gradio Web UIをリフレッシュして実行中のモデルを一覧で確認できる

利用制限と出典

  • データとコードは研究目的のみに意図され、その条件でライセンスされている
  • LLaMA、Vicuna、GPT-4のライセンス契約に従った利用に制限される
  • データセットはCC BY NC 4.0で、非商用利用のみ許可される
  • データセットで学習したモデルは研究目的以外で使用してはならない
  • プロジェクトはLLaVAのコードベースとVicunaのLLMコードベースに基づいている

1件のコメント

 
GN⁺ 2023-12-24
Hacker Newsのコメント
  • もうマルチモーダルへ進むのか? Googleがこの領域のアクセシビリティで、画像説明を「会社のロゴ」レベルよりましにできないなら、Appleに戻るつもり
    Appleもバグを減らして、VoiceOverが少し触っただけで崩れそうな感じをなくす必要はあるけど、LLMなしでも画像説明はすでにきれいで明確
    例えば「黒い背景に緑色のロゴ」に近いのに対して、Googleは前述のように「会社のロゴ」に近い。AIが質の高い良いデータで学習されるのではなく、クラウドソーシングされるとこうなる、という結果のように見える

    • GoogleのLookoutアプリは視覚障害者・ロービジョンの人向けのアクセシビリティアプリだが、すでに約6か月前にマルチモーダルLLMへアップデートされている
      Flamingoモデル系列を使っている: https://deepmind.google/discover/blog/tackling-multiple-task...
    • 今になって論文が出たのだとしたら、Appleは少なくとも1〜2年前から取り組んできた可能性が高い
      来年のmacOS / iOSリリースにLLM機能が入るという噂もある
  • 関連して見る価値があるもの: “LLM in a flash: Efficient Large Language Model Inference with Limited Memory”
    AppleはこうしたLLMを使って、オンデバイス推論で大きな進展を準備しているように見える
    https://arxiv.org/abs/2312.11514

  • 論文は古いが(2023年10月)、重みは新しく公開された(2023年12月)
    https://lifearchitect.ai/models-table/

  • AppleはLLMでは静かに見えていたが、派手な宣伝なしにハードウェア+ソフトウェアのAIスタックを着実に発展させてきた
    新しいiOSリリースが突然、OpenAI/Bardのチャット画面を滑稽なほど時代遅れに見せるようになれば、Microsoft/OpenAIとGoogleを圧倒する可能性もあると思う
    AI利用のかなりの部分がAppleハードウェアに移ればNvidiaにとっても脅威になり、ArmとTSMCは恩恵を受ける可能性が高い

    • AppleがChatGPT式の大きなチャットボットを作るとは思えない
      同じ技術をSiriやキーボードのオートコンプリートのような製品の漸進的改善に「ただ」使う可能性が高く、それが良い方向だと思う
    • Appleは他社がAIを動かすための計算時間を売っているわけでもなく、AI学習用の大規模なカスタムハードウェアを売っているわけでもない
      ベンチャー投資を受けようとしているわけでもないし、中核事業が「検索の進化」としてのAIに脅かされているわけでもない
      製品面では、これまでM3 Maxが機械学習モデルの実行に適している、というようなメッセージしか聞こえてこない
      実際の消費者向け製品が用意できるまでは、決算説明会で形式的に触れつつアナリスト対応だけしていれば十分
    • AppleのAI関連の実績と、CoreMLを放置してきた状況を見ると、そういうシナリオはかなり可能性が低そうに見える
      開発者の信頼を取り戻すのにも長い時間がかかるはずだが、そうなるとは思えない
    • 例を挙げられる? 運転中にパーソナルアシスタントをよく使うのでAndroidに移ったのだが、Siriは本当にひどかった
    • そこまで確信できる? このリンクでさえ他の人たちの成果の上に築かれたものなので、Appleが思っているほど多く貢献したのかはよく分からない
  • 「MLLM」が何を意味するのか定義してくれる?

    • Multimodal Large Language Model、つまりマルチモーダル大規模言語モデルのこと
    • 言語モデルが作業をより小さな言語モデルたちに委任したうえで、GPU時間のコストを過剰に請求する仕組みで動く
    • それでFERRETは略語なの?
  • Appleが早ければ来年、優れたオンデバイスのプライベートLLMアシスタントを搭載したiPhoneを出してくれたらうれしい
    ハードウェアはそれにかなり向いているように見える
    そうなれば、普段は4年くらい使う買い替えサイクルを破って新しい携帯を買うかもしれない。自分にとってSiriはほとんど使い物にならない

    • 噂では、AppleはiOS 18をAI中心のリリースとして準備しているらしい
      オンライン/オフラインの状況に応じて異なる機能を提供するのか、それとも完全にオフラインだけで提供するのか興味深い
      背景を知るための記事が1本ある: https://archive.is/en3VL
    • GPT-4音声は本当に素晴らしい
      音声ツールなら期待するまさにその姿に近い。Siriのように特定のコマンドを大声で言うのではなく、普通の人と会話するように話せる
    • 参考までに、自動修正はすでに小さなLLMに支えられている
      https://jackcook.com/2023/09/08/predictive-text.html
    • iOS 17では予測入力にごく小さなLLMを入れた
      最新のiPhoneを使っているが、実際に動作しているのを見ることは非常にまれ
      今のところ自分のタイピング速度についていくには遅すぎるか、有用な提案を多く出すにはモデルが小さすぎるように思う
    • まだ誰もLLMモデルを飼いならせておらず、Appleも例外ではない
      今でもChatGPTに非常にひどいことを言わせることはできるし、Appleがオンデバイスで何かを出せば、それも悪いロボットに仕立てることができるはず
      個人的には、LLMはまだ一般向けの本番用途には安全ではないと思う
  • 「FERRETは80GBメモリのA100 GPU 8基で学習された」って、AppleもCUDAの罠からは抜け出せなかったみたいだね
    Nvidiaとは道徳的に敵対関係にありながら、部分的に依存することになったのが面白い

    • AppleはいまAIでは様子見している程度だと感じる
      ただ、十分に本腰を入れることになれば、自社の計算インフラに資金を投じる可能性もある
      Nvidiaは今GPU計算の王者で、同等のハードウェアを開発するのは小さくも安くもない仕事だけど、Appleは投資すると決めれば実現できる非常に有利な立場にいる
      企業間の対立があっても、あるプロセスがより安く、または簡単になるなら、企業は喜んで受け入れると思う
    • Apple Siliconは優れているが、携帯端末向けに設計されたチップだ
      StudioやMac Proでさえ、ノートPC用チップをつなぎ合わせた形に近く、重い作業には重い機材を使うべきだ
      Nvidiaとの関係が悪化したのは分かるが、AMD/ROCmエコシステムを強化してくれたらと思う
      もちろんAppleもこの領域で独自の何かを作っている可能性は高い。現金性資産が数十億ドルもあるので、相当な研究開発に使っているのだろう
    • 「依存」は強すぎる表現だ
      結局こうしたディープラーニングモデルはどんなハードウェアでも動くし、多少の性能低下を受け入れれば、ある種類のハードウェアを別のものに簡単に置き換えられる
      基本的にはコモディティに近い
  • 商用利用できて、iPhone上でローカルに動かせる最高のオープンソースモデルを知っている人はいる?

    • これを実現できるFlutterプラグインを作り、そのサンプルアプリも用意してある
      オープンソースで、主要プラットフォーム上でネイティブに実行される。iPad Mini、Pixel 7、iPhone 12、Surface Pro(Windows 10 & Ubuntu Jellyfish)、Mac(Intel & Mアーキテクチャ)で動いている動画も共有した
      完成したアプリではまったくない。FlutterでオンデバイスAIを使いたくて、llama.cppの移植から始め、いずれはwhisper.cppやbark.cppのような最新実装も移植してみるつもりだ
      リポジトリ: https://github.com/BrutalCoding/aub.ai
      Appleデバイスではこれを使えばよい: https://testflight.apple.com/join/XuTpIgyY
      アプリはどのGGUFファイルとも互換性があるが、ChatMLのプロンプト形式でないとチャットUI/吹き出しがおかしくならないはずだ。まだカスタマイズ可能にはしておらず、あくまでプラグインのサンプルアプリだからだ。それでも目標の形に磨き上げるため、積極的に作業している
    • Mistral 7Bはかなり良く、instruct v0.2はMLC Chat経由で自分のiPhone上で動く
      ただし使い勝手はChatGPT4アプリの方がずっと良い。モデルも優れているし、テキスト/ビジョン/音声を含むマルチモーダル機能やUIも優れている
  • 「データとコードは研究目的での使用のみを意図し、ライセンスされています。また、LLaMA、Vicuna、GPT-4のライセンス契約に従う使用に限定されます。データセットはCC BY NC 4.0であり、非商用利用のみ許可され、このデータセットで学習したモデルは研究目的以外に使用してはなりません」
    ちょっと待って、ここでGPT-4はどう関わってくるんだ?

    • おそらくどこかの段階でGPT-4が生成した学習データが使われたからだろう。Vicuna側かもしれない
    • 評価スタックでGPT-4を使って回答を採点しているので、そのために入ったのかもしれない
    • 興味深いね。Appleが学習にGPT-4を使ったと、そのまま公に言ったようなものらしい