生成AI週報(10/28~11/03)
こんにちは、ナウキャストでLLMエンジニアをしているRyotaroです。
10/28~11/03で収集した生成AIに関連する情報をまとめています。
※注意事項
内容としては自分が前の週に収集した生成AIの記事やXでの投稿・論文が中心になるのと、自分のアンテナに引っかかった順なので、多少古い日付のものを紹介する場合があります
それでは行きましょう
Distance between Relevant Information
RAG において参照情報がプロンプトの中でどの位置にあるかどうかで、回答精度がかなり異なるということが最近の研究でわかってきています。これはどの LLM でも起こっている事象で、特に真ん中の情報は抜け落ちやすいということを示した有名な Lost in the Middleという論文がありますね。
そこでこの論文では、「LONGPIBENCH」というベンチマークを作成して、複数の重要情報があったときにその位置関係と精度を比較しています。
その結果、LLMへのプロンプトでは「質問文を文章の最初に置くだけで」理解力が大幅に向上するとのことです!
ですが、こういう研究の大事なポイントはベンチマークを理解することです!(自戒を込めて……)今回でいう「LONGPIBENCH」というベンチマークをちゃんと深ぼってみましょう。
LONGPIBENCH
データセット概要
データセットは全部で 7,680個のデータあり、文章の長さは4段階。一番短いもので3万2千語程度、一番長いもので25万6千語程度です。各文章の中の重要な文章をどこに置くかを変えたり(Absolute Position)、塊ではなくバラバラにして配置(Relative Position)してデータを増やしているそうです。
「絶対位置」と「相対位置」の違いを図示。絶対位置は文章全体における位置を、相対位置は複数の重要情報間の距離を表す(出典: https://arxiv.org/abs/2410.14641)
そして課題は3つ用意されています。
- テーブルから特定の情報を抜き出す
- fact を時系列順に並びかえる
- 方程式を解く
ただ、下2つの課題は最も性能の良いモデルでも 10~20% の精度しか出なかったため、この論文では1つ目の課題のみを扱っています。
データ構築過程と課題(出典: https://arxiv.org/abs/2410.14641)
ちなみに、GitHub 経由でデータセットをダウンロードできます。
結果
実験結果では以下のことがわかりました。
- 質問文を文章の最初に置くだけで、精度が大幅に向上する
- 絶対位置の場合、どの LLM でも安定して処理できる
- 相対位置の場合、重要な情報同士の間隔が広がるについてて、性能に急激な低下が見られる
参考資料
GitHub Spark
GitHub Spark は、マイクロアプリ (「スパーク」) を作成して共有するための AI 搭載ツールです。ニーズや好みに合わせてカスタマイズでき、デスクトップやモバイル デバイスから直接使用できます。コードを記述したりデプロイしたりする必要はないとのこと。
機能
今のところデモ動画しかみることができないですが、ぱっと見 v0 や bolt のように自然言語でマイクロアプリを作成できるようです。
初めの画面(出典: https://githubnext.com/projects/github-spark)
するとこのような画面ができあがります。
出力結果(出典: https://githubnext.com/projects/github-spark)
作成過程で生成結果やテーマを選択できたりするのは良い機能ですね。
テーマ選択画面(出典: https://githubnext.com/projects/github-spark)
生成結果選択画面(出典: https://githubnext.com/projects/github-spark)
あとは、share 機能もあるらしいです。
share 機能(出典: https://githubnext.com/projects/github-spark)
ただまだすぐにはつかえず、waitlist に登録する必要があります。
12/9現在も見れませんでした😭もう少し待ちましょう笑
参考資料
Claude Desktop App リリース
ついに Claude のデスクトップアプリがリリースされました!
Download ページからダウンロードするか、Macの場合は homebrew でインストールできます。
brew install claude --cask
デフォルトで 「cmd + e」で claude が起動できるようになっています。
デスクトップアプリの起動画面
ただ、web 版と違って幾つかの機能は使えないようですね。
- Capture screenshot機能
- computer use機能
参考資料
Many-Shot In-Context Learning
LLM が知らない情報に対して回答させるときに一般的には RAG を使いますが、Google が出したこの論文では、few-shotからmany-shotへICLをスケールアップすることで、様々なタスクでパフォーマンスが大幅に向上することが示されました。まさに最大のコンテキストウィンドウを持つ Gemini を開発した Google ならではの論文です。
LLMごとの Context Window の比較
AI Provider | Model | Context Window |
---|---|---|
Gemini 1.5 Pro | 2M | |
Gemini 1.5 Flash | 1M | |
OpenAI | o1 | 128K |
OpenAI | o1-mini | 128K |
OpenAI | GPT-4o | 128K |
OpenAI | GPT-4o-mini | 128K |
Anthropic | Claude 3.5 Sonnet | 200K |
この論文ではプロンプトの shot 数と回答の精度の関係をさまざまなタスクで比較しています。
タスクとしては、
- 機械翻訳
- 要約
- 計画
- 報酬モデリング
- 数学的問題解決
- 科学的質問応答
- アルゴリズム的推論
など、多様な種類が試されました。
結果は全てのタスクにおいて few-shot から many-shot へのスケールアップで精度が向上することが示されました。
多ショットICLと少ショットICLのタスクパフォーマンスの比較(出典: https://arxiv.org/abs/2404.11018)
また、各タスクの最高性能と最大ショット数のコンテキスト長の関係を図示したものが以下です。
最小でも 50 shot で、20000万トークン以上のコンテキスト長が必要であることがわかります。
各タスクの最高性能と最大ショット数のコンテキスト長(出典: https://arxiv.org/abs/2404.11018)
参考資料
Google Grounding 機能
Google AI Studio / Vertex AI に Grounding 機能が追加されました。
Google 検索でグラウンディングを使用すると、Google モデルがインターネットにリンクされます。グラウンディングのない生成 AI モデルのレスポンスは、学習したパターンに基づく新しいコンテンツと見なされます。プロンプトで天気予報を尋ねるなど、時間に依存する事実に基づくレスポンスは返されません。インターネットでは既存の情報と新しい情報にアクセスできるため、グラウンディングを行ったプロンプトを使用すると、エラーが少なく、出典が明記された具体的なレスポンスが生成できます。
Google 検索によるグラウンディングは動的取得をサポートしており、必要な場合にのみ Google 検索でグラウンディング付きの検索結果を生成できます。そのため、動的取得構成では、プロンプトに最近のイベントに関する知識が必要かどうかを評価し、Google 検索によるグラウンディングを有効にします。詳細については、動的取得をご覧ください。
この機能を on にするとユーザーの質問に対して grounding が必要なときに自動で google 検索結果をプロンプトに含めることができるようになります。
使い方
使い方は簡単で Google AI Studio / Vertex AI のモデルの設定画面で Grounding を on にするだけです。
実際に Gemini が知り得ない明日の天気について聞いてみると Grounding を off の時は回答してくれません。
Grounding を off の時
Grounding を on にして再度試すと、参照元を提示して回答してくれます。
Grounding を on にして再度試した結果
参照情報もリンクで表示されるようになります。
料金と制限
Grounding 機能は Google AI Studio / Vertex AI の Chat UI から使う場合は無料で利用可能ですが、API として使う場合は有料になります。(無料の API 枠では Grounding は使えない)
具体的には 1,000 件の停止リクエストごとに $35 で、1 日あたり最大 5,000 件のリクエストまでとなっています。
また利用できるモデルは以下のとおりです。
モデル | バージョン |
---|---|
テキスト入力のみの Gemini 1.5 Pro | gemini-1.5-pro-002 |
gemini-1.5-pro-001 | |
テキスト入力のみの Gemini 1.5 Flash | gemini-1.5-flash-002 |
gemini-1.5-flash-001 | |
テキスト入力のみの Gemini 1.0 Pro | gemini-1.0-pro-001 |
gemini-1.0-pro-002 |
言語は、英語、スペイン語、日本語のデータソースのみをサポートしていて、テキストリクエストに対してのみ使用できます。
参考資料
We are Hiring!
この件についてもっと詳しく知りたい、議論したい、はたまたナウキャストという会社に興味を持ったという方は、カジュアル面談フォームから連絡ください。その際に「今週の生成AI情報まとめ見た!」と書いていただければ幸いです!
Discussion