SEが最近起こったことを書くブログ

ITエンジニアが試したこと、気になったことを書いていきます。

2024年4月22日の週に気になった記事などまとめ

Kaggle LLM Prompt Recoveryコンペまとめ

zenn.dev

  • 元のテキストと書き換え後のテキストから書き換えに利用したプロンプトを予測するコンペについてまとめた記事
  • アプローチはLLMベースのアプローチとmean promptのアプローチがあった

合成データを利用したLLMの開発

note.com

  • 合成データに関するベストプラクティスの論文とStanford Alpacaについて説明した記事

LLM校正CIを自社のブログに導入してみた

engineers.ntt.com

  • テキストの誤りがないかを確認するために、LLMで校正した記事
  • 指摘すうが多いと確認が大変なので、RecallよりもPrecisionを重視した

【Bedrock×Lambda】高精度なハイブリッド検索RAGをサーバレスで実装(Slack連携も可)

qiita.com

  • ドキュメントをキーワード検索した後にベクトル検索している

Keras 3.0とJAXを使ったgemmaのファインチューニング

hamaruki.com

  • Keras 3.0はJAX、TensorFlow、PyTorchのいずれかをバックエンドとして選択できる

オリジナルデータセットで Idefics2 のファインチューニングを試す

note.com

  • 画像と質問と回答の学習用データセットを作成する

SAMMO: A general-purpose framework for prompt optimization

www.microsoft.com

  • 様々なタイプの構造情報を組み合わせたプロンプトの最適化を合理化するオープンソースツール

Anthropic Cookbook のおすすめレシピ

speakerdeck.com

複数の関連度から検索可能な BGE M3-Embedding の紹介

tech.algomatic.jp

  • 100以上の言語を検索の対象とする
  • 密、疎、マルチベクターなどの異なる検索手法を同時に実現する
  • 異なるトークン長の文章を処理する

GEAR: Augmenting Language Models with Generalizable and Efficient Tool Resolution

arxiv.org

  • 小規模言語モデルですべてのツールを試し、良さそうなものをLLMに渡す

microsoft/LLMLingua

github.com

  • 言語モデルを利用して、プロンプトを圧縮するライブラリ

Weekly AI Agents News!

speakerdeck.com

  • ChatShop
    • エージェントが対話を通じてユーザーの好みを探り、情報を徐々に蓄積することで意思決定するタスクを提案
  • Graph Chain-of-Thought
    • LLMがグラフのノードを移動し、必要な情報を段階的に収集することを可能にする
  • ResearchAgent
    • 論文を元に問題点の特定、方法論の開発、実験デザインの提案を自動で行う
    • 査読エージェントのレビューで生成したアイデアを反復的に改良する

来てくれClaude 3! Agents for Amazon Bedrockのモデル比較或いはチューニングの話

speakerdeck.com

  • エージェント作成時詳細プロンプトというエージェント作成時に用意されるプロンプトテンプレートセットを設定できる

RAGにおいて取得された情報と事前知識が矛盾しても、情報に説得力があるときLLMは受け入れる

ai-data-base.com

  • LLMが持つ知識と矛盾していても、外部知識同士に矛盾がない場合は、LLMは受け入れる論文の紹介

Helper metaprompt (experimental)

docs.anthropic.com

  • Claudeで効果的にタスクを実行するためのプロンプトを生成するメタプロンプトが用意されている

Mistral AIの3つオープンソースモデルの日本語性能を確認してみる

note.com

  • 以下のモデルの日本語性能を確認した記事
    • Mistral 7B
    • Mixtral 8x7B
    • Mixtral 8x22B
  • Mixtral 8x22Bモデルが比較的に自然な日本語で回答を行うことができ、内容も一貫性があった

Phi-3 Technical Report: A Highly Capable Language Model Locally on Your Phone

arxiv.org

  • 38億のパラメータでありながら、Mixtral 8×7BやGPT-3.5に匹敵するphi-3-miniを提案した論文

羊の皮を被ったGPT:カスタマイズされたGPTのリスク

scrapbox.io

  • GPTsが悪用され、ユーザーのプライシーやセキュリティにリスクをもたらすことがある
  • GPTsとのチャットは構築者に送信させることができる

RAG from Scratch

www.youtube.com

  • LangChainが出しているRAGについて学ぶことができるYoutubeプレイリスト

『因果推論』(金本拓:オーム社)は因果推論に留まらず現代的なマーケティング分析手法まで網羅したバイブル

tjo.hatenablog.com

Anthropic Keynote Session in JAWS Bedrock Claude Night on 2024/4/22

www.youtube.com

llama.cpp による transformersモデル の量子化

note.com

  • Llama.cppはインストール時に環境に合わせてソースからビルドして利用する

Import custom models in Amazon Bedrock (preview)

aws.amazon.com

  • AWS Bedrockでファインチューニングしたカスタム重みをインポートし、オンデマンド料金ですることができるようになった

Introducing more enterprise-grade features for API customers

openai.com

  • OpenAIのAPIにAzureのPrivate Linkで接続できるようになった

Google Colab で Phi-3 を試す

note.com

LEIA: 言語間転移学習でLLMを賢くする新しい方法

zenn.dev

  • 大規模言語モデル(LLM)の性能を向上させる新しい方法であるLEIAを紹介した記事
  • LEIAはWikipediaのエンティティを使ってデータ拡張したWikipediaテキストを使ってLLMを訓練することで言語間転移の促進を行う方法

The Instruction Hierarchy: Training LLMs to Prioritize Privileged Instructions

arxiv.org

  • 異なる優先順位の命令が競合する場合にモデルがどのように動作するかを明示的に定義する命令階層を提案する論文

言語モデルを高位合成でFPGAに実装してみた

zenn.dev

  • 中規模FPGAの上でHLSを活用して言語モデルを動作させた記事
  • DRAMにモデルを格納し、必要に応じてウェイトを取り出す実装

mergekit-evolve による 進化的モデルマージ

note.com

  • 「mergekit」で「進化的モデルマージ」を利用できる
  • 7Bモデルの場合は、24GBのVRAMで十分
  • マージでの一般的な問題の1つは、結果が特定のプロンプト書式に準拠しないことがよくあること

LLMの継続学習における論文紹介[Cohere論文紹介No.1]

note.com

  • ドメインを類似度順で継続学習させたほうがドメイン特化させやすい
  • ドメインをランダムな順序で継続学習したほうがLLMの性能・知識の蓄積が改善する

LLMの学習データの刈り込みに関する論文紹介[Cohere論文紹介No.2]

note.com

  • LLMのデータを刈り込むことでLLMの性能を上げられることを明らかにした
  • Perplexityを用いた刈り込みが最も効果的だった

Command R+はトークナイザーもすごかった

qiita.com

  • Command R+は日本語で学習したモデルよりも日本語をトークン化したときのトークン数を削減できている

Kotoba-Whisper入門 – 日本語音声認識の新しい選択肢

hamaruki.com

  • Kotoba-Whisperは、OpenAIのWhisper large-v3をティーチャーモデルとし、ReazonSpeechの大規模な日本語音声データを用いて学習された
  • Whisper-large-v3の6.3倍の速度で同等のエラー率
  • return_timestamps=Trueを指定するとセグメントレベルのタイムスタンプが付与される
  • チャンク処理アルゴリズムを使用すると、逐次処理の約9倍で処理できるが、若干精度が落ちる
  • プロンプトを与えることで、文字起こしの内容をある程度コントロールできる

「シリコンの群衆」LLM集団(12体)は人間にどれほど近づくか

ai-data-base.com

  • 12体のLLMを使用し、人間集団の予測と比較する実験を行った論文を紹介する記事

AppleiPhoneでも稼働するオープンな言語モデル「OpenELM」を公開

www.itmedia.co.jp

  • 小さいものから、2億7000万、4億5000万、11億、30億のモデルを公開した
  • 利用する開発者は自分で「十分なセーフティテストを実施し、適切なフィルタリング機構を実装することが不可欠」

サイコロを振り直す:ABテストにおける共変量バランス調整の検討①

developers.cyberagent.co.jp

  • ABテストの偽陽性を小さくできるように実験設定に手を加える方法を考えた記事
  • アウトカムに影響を与える共変量すべてで層化抽出を行うことが難しい場合は、再ランダム化する

ICLR2024 LLMエージェントの研究動向

speakerdeck.com

  • Can Large Language Models be Good Path Planners?
    • グリッド環境で障害物を避けながら目標地点にナビゲートする経路計画で、LLMの空間的・時間的推論能力の限界を評価
  • Agent Lumos
    • オープンソースなモデルを使い、タスクをサブタスクに分割する機能、サブタスクの実行計画を立てる機能を別モジュールとして微調整する手法の提案
  • AUTOACT
    • タスクの詳細と津ウールから軌跡データを人工的に作成し、計画、行動、振り返りなどの役割ごとにエージェントを学習させる手法の提案
  • TaskBench
    • タスク分解、ツール呼び出し、ツールパラメータ生成能力を評価するベンチマーク

      5年後、生成AIでエンジニアの仕事はどう変わるのか? メルカリ、LayerX、Algomaticの3社が語るAIへの取り組み

codezine.jp

コスト削減は「そこに関わる誰かがやる」だけでいいのか?経営にも響くからこそ“お祭りムードで総力戦”を

logmi.jp

LangSmith入門―トレース/評価/プロンプト管理などを担うLLMアプリ開発プラットフォーム

speakerdeck.com

  • Tracing
    • 1連の会話を「Thread」としてまとめて可視化する機能もある
  • Developerならば無料で使うことができる
  • Hub
    • LangSmith上でプロンプトを管理できる機能

Python開発環境基礎

ftnext.github.io

  • 仮想環境のpythonを指定して、pip installすると仮想環境を有効にしなくても、仮想環境にインストールできる
  • pipxインストールしてコマンドで使うライブラリを仮想環境にインストールする

Make Your LLM Fully Utilize the Context

arxiv.org

  • 長いコンテキストウィンドウの様々な位置から情報を取得する方法を提案した論文

AI事業者ガイドライン(第1.0版)の公表と今後の実務対応(2024年4月26日号 )

www.nishimura.com

  • チェックリスト及び具体的なアプローチ検討のためのワークシートが公表されている

はじめての「相関と因果とエビデンス」入門:“動機づけられた推論” に抗うために

speakerdeck.com

  • 選抜されたデータからランダムサンプリングしても疑似相関は消えない
  • 統計的因果推論はなんらかの統計的な工夫により比較する群間での背景のありようをそろえる試み

ファインチューニングの終焉:全ては継続的な事前学習

sc-bakushu.hatenablog.com

AnthropicAI Tool で Retrieval-Augmented Generation を実装してみた

zenn.dev

  • Google Custom Search Engine のAPIのツールを利用するclaude-3-opus-20240229のコードを紹介する記事

[04/20~04/26] 生成AI Weekly News

note.com

基本概念から理解するAzure AI Search - Azure OpenAI Serviceとの連携まで

tech.dentsusoken.com

  • 全文検索とベクトル検査のリランキングする方法にRRF使う
  • Azure AI SearchからAzuer OpenAI Serviceリソースに連携するインデクサーではチャンクに含まれる最大文字列長が2,000、オーバーラップが100
  • on your Dataの場合のインデクサーは、スキーマの項目がAI Searchから作った場合よりも多少多い
    • カスタムWebAPIスキルが利用される

表とテキストを両方含むドキュメントからLLMで上手に情報抽出を行う手法

ai-data-base.com

Parameter-Efficient Fine-Tuning for Large Models: A Comprehensive Survey

arxiv.org

JAXとWandbとSelf-Consistencyを使ったGemma Instruct 2Bモデルのファインチューニング入門

hamaruki.com

【随時更新】主要な大規模言語モデル比較表

zenn.dev

Google Colab で mergekit-evolve による 進化的モデルマージ を試す

note.com

Gemini API の Function Calling を試す

note.com

  • Automatic Function Callingでは、Functionの呼び出しが自動で行われ、関数のレスポンスを元に回答を生成する

財務分析・株価予測・稟議書作成…AIプロフェッショナル組織のリーダーが語る、生成AI活用法

logmi.jp