🗞️

今週の生成AI情報まとめ(7/8~7/14)

2024/08/24に公開

こんにちは、ナウキャストでLLMエンジニアをしているRyotaroです。
7/8~7/14で収集した生成AIに関連する情報をまとめています。

※注意事項

内容としては自分が前の週に収集した生成AIの記事やXでの投稿・論文が中心になるのと、自分のアンテナに引っかかった順なので、多少古い日付のものを紹介する場合があります

それでは行きましょう

論文:How Does Quantization Affect Multilingual LLMs?

参考:

関連:

量子化について

量子化とは、LLMの性能を維持しつつ、計算コストを削減し、推論速度を向上させるための技術で、モデルの重みやアクティベーションを低ビット表現に圧縮することで、モデルの軽量化を図る。

量子化の影響に関する研究もよく行われているが、多くは英語に焦点を当てており、英語以外での影響については十分に調査されていないのが現状。

量子化の多言語タスクにおける影響は、言語や評価方法によって異なることが明らかになっている。例えば、非ラテン文字系言語(アルファベットベースではない言語)はラテン文字系言語よりも大きな影響を受ける傾向がある。

この論文ではこの量子化に焦点を当てて、英語以外のさまざまな言語において性能がどう変わるのか詳細に実験された。

検証内容:英語以外のさまざまな言語においてLLMの性能がどう変わるのか

評価対象モデル

本研究では、最先端の多言語LLMの代表として、以下のモデルが評価されました。

  • Command R+(103億パラメータ)
  • Command R(35億パラメータ)
  • Aya 23(35億および8億パラメータ)

HuggingFaceで公開されている重みを用いて量子化が行われました。

量子化手法

以下のような様々な量子化技術が適用され、その影響が検証されました。

(1)重みのみの量子化

  • 8ビット(W8):列ごとのスケーリングを使用
  • 4ビット(W4-g):GPTQを用いたグループごとのスケーリングを採用

(2)重みとアクティベーションの量子化

  • 8ビット(W8A8):重みには列ごと、アクティベーションにはトークンごとのスケーリングが適用

さらに、Command R+モデルでは以下の手法も検討されました。

  • W8A8-SmoothQuant:アクティベーションの分布を滑らかにする手法
  • 列ごとのスケーリングを用いた4ビット重みのみの量子化(W4)

⁠結果

Command RおよびR+モデル

言語間でスコアが平均化され、16ビット浮動小数点(FP16)版からの相対的な性能低下が計算された。結果として、量子化が進むほど、性能低下が大きくなる傾向が見られました。

ただし35億パラメータのモデルでは、W8A8で翻訳と言語混同評価において若干の性能向上が見られました。

Aya 23モデル

Aya 23モデルでも同様の傾向が観察され、W4(4ビット量子化)は、大きな性能低下をもたらした。この傾向はタスクや言語を問わず一貫していた。

しかしW8(8ビット量子化)による量子化では、どのタスクでも顕著な性能低下は見られなかった。

パナソニックの社内AI導入実績紹介資料

参考:

パナソニック コネクト株式会社がConnectAIというAIアシスタントを導入した。2023/2/17から国内全社員(13,400人)に展開。

主な利用ケース:

  1. 質問 (59.7%)
  2. プログラミング (21.4%)
  3. 文書生成 (10.1%)
  4. 翻訳 (4.9%)

ChatGPT活用における課題と解決策:

  1. 回答の正確性担保 → 引用元表示
  2. 長いプロンプト入力の手間 → 音声入出力機能追加
  3. 自社固有の質問への対応 → 企業データ活用システム構築
  4. 最新情報への対応 → 検索エンジンとの連携

AI回答に対する評価とアイデアの共有も可能。5段階で評価できるのはよいかも。

3ヶ月間の評価実績

引用ドキュメントの提示。全体的にUI/UXが良さそう。

認知アーキテクチャとは?

参考:

認知アーキテクチャとは、LLM(大規模言語モデル)がどのように情報を処理し、応答を生成するかを理解するための枠組み。LLMアプリケーションの設計図のようなもの。

システムがどのように考えるか、 つまり、ユーザー入力を受け取り、アクションを実行したり応答を生成したりするコード/プロンプト/LLM 呼び出しのフローを意味する。**

LangChainの文脈では、認知アーキテクチャは以下のようなレベルで区別されます:

  1. 単一のLLMコール:アプリケーションの出力のみを決定
  2. LLM呼び出しの連鎖:複数のLLM呼び出しを連続して行う
  3. ルーターとしてのLLM:LLMを使ってどのアクションを実行するかを決定する

Pre-translation vs. direct inference in multilingual LLM applications (事前翻訳と直接推論の比較)

参考:

事前に英語に翻訳してLLMにinputする場合と、元の言語のままinputするのとで解答の精度に違いが出るかどうかの実験。

評価に使われるROUGEやF1がその言語に依存してしまうので、正解(GT: Ground Truth)と直接の推論結果を英語に翻訳して補完的に評価している。

RAG(拡張検索生成)を使った広告文チェッカーのGPTs

参考:

コンプラチェックに活かせるかも!

GPTsで利用でき、まずは商品の種類と広告訴求文を入力するように促される。対象商品とチェックしてもらいたい訴求文を入力する。



すると、ChatGPTのデータ分析機能である、Advanced Data Analysisが走り、knowledgeに添付されているguideline.mdを読みにいく。そして、入力文に該当する箇所を抜き出してくる。

※ guideline.mdを見たかったが直接中身は確認できなかった。おそらくこのサイトのpdfをmdに変換している(化粧品等の適正広告ガイドライン | 日本化粧品工業会)。余談だが、pdfよりmdの方が精度が上がるらしい

該当箇所と照らし合わせて、入力文がOKなのかNGなのかを判定



Gen IDによる画像生成テクニック

参考:

  1. GPT-4oで画像を生成
  2. この画像のGen IDを教えて
  3. このGen IDを維持して、〜の画像を生成して
  4. 同じキャラの違うポーズが生成される!

継之助による自動プロンプトチューニング

参考:

このフローでプロンプトチューニングをAIに行わせることでプロンプトが育っていく。

その過程の一部がこちら

あなたはイカしたアシスタントですあなたはイカしたアシスタントです

あなたは高度なプログラマーで、機械学習に関する豊富な知識を持っているAIアシスタントです

あなたは高度なプログラマーで、並列処理に関する豊富な知識を持っているAIアシスタントです。また、機械学習やディープラーニングも専門で、最適なアルゴリズムを選択し、プログラムを最適化する能力があります。

あなたは熟練のプログラマーで、機械学習やディープラーニングから並列処理まで幅広い知識を持つAIアシスタントです。最適なアルゴリズムの選択とプログラムの最適化を得意とし、さらに、パフォーマンスを最大化するための並列化の実装にも対応可能です。

あなたは熟練のプログラマーで、機械学習やディープラーニングから並列処理まで幅広い知識を持つAIアシスタントです。最適なアルゴリズムの選択とプログラムの最適化を得意とし、さらに、パフォーマンスを最大化するための並列化の実装にも対応可能です。特に、ディレクトリ内のテキストファイルの解析や並列処理には精通しており、ディレクトリ内の全てのテキストファイルのパースと単語の出現回数を並列処理で計算する能力を持っています。

松尾研LLM開発 チームZoo(三内チーム)におけるコーパス構築

参考:

Discussion