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

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

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

GPUなサービスをそこそこな費用で運営する

torpid-stem-c48.notion.site

基本に立ち戻る:LLMのプロンプト

nikkie-ftnext.hatenablog.com

LLMをWebフレームワークにしたら、未来が見えた #2024

zenn.dev

  • 以下2つのアプローチを試している
    • APIの呼び出し毎に状態の変化を記録させ、それを全部プロンプトに突っ込むアプローチ
    • ToolアプローチでSQLの実行もできるようにしたアプローチ
      • llama3 8bで実装

次世代Web認証「パスキー」

speakerdeck.com

LLM にプロンプトチューニングをしていただく手法まとめ

zenn.dev

  • DSPy Optimizersは、プロンプトに対してたくさんのInput/Output Example集と自動評価関数を作り、評価が最も高くなるようなFew showの組み合わせを探す

LLMプロダクト開発における独自評価基準とデータセットの作り方の考察

zenn.dev

  • アウトプット例があったほうが具体的なイメージのすり合わせなどに利用できる
  • プロダクト要件はポジティブな要求とネガティブな要求に分かれる
  • LLM Appsの評価についての参考文献が多数記載されているなど非常に参考になる

Weekly AI Agents News!

speakerdeck.com

LLMによるLLMの評価とその評価の評価について

zenn.dev

Difyをローカルで動かしてRAGまで試してみる

zenn.dev

SQL滅ぶべし

www.docswell.com

Common Crawlから作る大規模日本語コーパスとその前処理(Mixtral 8x7Bを語彙拡張継続事前学習 Part2)

tech-blog.abeja.asia

karakuri-ai/karakuri-lm-8x7b-chat-v0.1

huggingface.co

OpenAIのBatch APIを使ってお得にプロンプトを一括処理してみる

acro-engineer.hatenablog.com

Sakana.aiが公開した「Evolutionary Model Merge」手法を「mergekit」で実施してみる

acro-engineer.hatenablog.com

Google Cloud Next'24 にて Google Cloudの生成 AI エコシステムはなぜ良いのか?について発表しました

note.com

  • シンプルなSQLでBigQueryに保存されているメタデータを使って、生成AIを使える
  • BigQuery内でほぼパイプラインが完結する

Build generative AI applications with Amazon Bedrock Studio (preview)

aws.amazon.com

  • Bedrock Studioでアプリケーションを作成すると、ナレッジベース、エージェント、ガードレールなどに対応した管理リソースがAWSアカウントに自動的にデプロイされる

LLM時代のX情報収集術

note.com

Google Colab で 属性予測モデル KARAKURI LM 7B APM v0.1 を試す

note.com

  • helpsteer、oasstの属性予測できる

噂のノーコードAIシステム開発環境Difyを使ってツールを作ってみた。使った感想

note.com

「知的単純作業」を自動化する、地に足の着いた大規模言語モデル (LLM) の活用

speakerdeck.com

  • LLMは従来のプログラムでは細かすぎて作りこみ切れない文書処理に対応できる
  • LLMを活用すると「ニッチ」な領域でもDXを実現できる

Introducing the Model Spec

https://openai.com/index/introducing-the-model-spec/

  • OpenAIが望ましいモデルの動作を形成するためのアプローチとトレードオフをどのように評価しているかを示した文書を公開した

実務につなげる数理最適化

blog.recruit.co.jp

  • 最適化問題の定式化に必要な情報の多くは、日常的に特定の業務に従事している現場担当者にとって改めて話題にするまでもない常識
    • 優秀なコンサルタントが慎重なインタビューを重ねてもこれらの情報を引き出すことはなお困難

【論文紹介】複数トークン予測によるLLMの精度向上と高速化

note.com

日本語大規模言語モデル「Japanese Stable LM 2 1.6B」をリリースしました

ja.stability.ai

  • 16億パラメータという小型モデルでありながら、40億パラメータ以下のモデルのスコアよりも高いスコアを達成し、70億パラメータのモデルに近いスコアを獲得

GoogleColobでstabilityai/japanese-stablelm-2-instruct-1_6bを動かす

ayousanz.hatenadiary.jp

生成AIの力を借りて、爆速でChatGPTアプリを開発する

qiita.com

  • Azure Static We Appsで動かすアプリを生成AIで作成した記事

learn.microsoft.com

Assistants APIが画像認識に対応した

https://platform.openai.com/docs/assistants/how-it-works/how-it-works/creating-image-input-content

ノーコードLLM統合アプリのdifyでollamaと連携してみた

qiita.com

LLMを用いた合成データ作成事例をまとめてみたーNLP2024参加報告①

note.com

[05/03~05/10] 生成AI Weekly News

note.com

生成AI・LLMを用いて「あなた」にパーソナライズされたUIの実現を目指す「生成UI」の可能性

note.com

  • 生成UIとは、ユーザーのニーズやコンテキスト、行動履歴やプロファイルに合わせて、動的にインタフェースを生成するもの

Anthropic Consoleのプロンプトジェネレータの活用マニュアル|誰でも簡単にプロンプト生成ができる

note.com

LangChain v0.2 の概要

note.com

ローカルLLMはこーやって使うの💢

gist.github.com

  • 特殊トークンによるプロンプトインジェクション、尤度関数としての利用などが追加された

Microsoft 365 界隈のコミュニティの整理

office365labo.com

Getting Started with Mistral

www.deeplearning.ai

  • DeepLearning.AIのMistralのコース。
  • プロンプトエンジニアリング、Fucntion Calling、JSONモード、RAGなどが学べる

生成AIの論点

https://www.seikyusha.co.jp/bd/isbn/9784787235374/

jphrase 0.0.1

pypi.org

  • 日本語のテキストを文節に分割するライブラリ

言語モデルの編集に関する論文紹介

note.com

『生成AIカンファレンス2024』に現地参加したイベントレポート

note.com

データ基盤を支える技術

speakerdeck.com

実務で生成AIサービスを開発してわかったこと

zenn.dev

Google Colab上でollamaでGPUを活用してc4ai-command-r-plus-ggufを動かしてみた

Google Colab上でollamaでGPUを活用してc4ai-command-r-plus-ggufを動かしてみたので、メモ。

※A100とL4で動作することを確認

まずは、ollamaをインストール

!curl https://ollama.ai/install.sh | sh

!echo 'debconf debconf/frontend select Noninteractive' | sudo debconf-set-selections
!sudo apt-get update && sudo apt-get install -y cuda-drivers

import os

# Set LD_LIBRARY_PATH so the system NVIDIA library
os.environ.update({'LD_LIBRARY_PATH': '/usr/lib64-nvidia'})

ollama run で用意されたモデルを動かすとエラーになるので、ggufからカスタムモデルを作る。 利用するカスタムモデルをダウンロード

!wget https://huggingface.co/<利用したいモデルのパス>

カスタムモデルを作成するための、modelファイルを作成。

テキストエディタなどで作成したファイルをアップロードしてもOK。

ストップトークンを設定しないと、発話が終わらないので注意

# ファイルパス
_filepath = './Modelfile'

# ファイルに書き込む内容
filecontents = """
FROM ./<ダウンロードしたファイルの名前>

TEMPLATE \"\"\"{{ if .System }}<|START_OF_TURN_TOKEN|><|SYSTEM_TOKEN|>{{ .System }}<|END_OF_TURN_TOKEN|>{{ end }}{{ if .Prompt }}<|START_OF_TURN_TOKEN|><|USER_TOKEN|>{{ .Prompt }}<|END_OF_TURN_TOKEN|>{{ end }}<|START_OF_TURN_TOKEN|><|CHATBOT_TOKEN|>{{ .Response }}<|END_OF_TURN_TOKEN|> \"\"\"

PARAMETER stop "<|START_OF_TURN_TOKEN|>"
PARAMETER stop "<|END_OF_TURN_TOKEN|>"

"""

# 書き込みモード
with open(_filepath, 'w') as f:
  # ファイル作成、書き込み
  f.write(filecontents)

以下のコマンドを実行し、カスタムモデルを作成

!nohup ollama serve &
!ollama create <カスタムモデルの名前> -f Modelfile

pythonからollamaを使うためにpip install

!pip install ollama

プログラムから利用

import ollama

response = ollama.chat(model='<カスタムモデルの名前>', messages=[
  {
    'role': 'user',
    'content': 'こんにちは',
  },
])
print(response['message']['content'])

参考にしたページ

カスタムモデルの作り方は以下を参考にした github.com

Modelファイルのテンプレート、パラメータは以下を参考にした ollama.com

Google Colabへのollamaのインストールは以下の記事を参考にさせていただきました qiita.com

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

Arxiv RAGによる論文サーベイの自動生成

blog.shikoan.com

  • Arxivの検索APIとLLMを統合し、作成した論文サーベイの自動生成ツールを紹介する記事
  • Embeddingに対して巡回セールスマン問題を解いてソートかける

mergekit-evolve のパラメータまとめ

note.com

  • 「mergekit-evolve」は、進化的アルゴリズム (CMA-ES) を使用して、モデル メトリックに対してマージのパラメータを最適化するスクリプト

Best Practices and Lessons Learned on Synthetic Data for Language Models

arxiv.org

複数の企業でデータエンジニアとして求められたスキル

www.yasuhisay.info

  • セキュリティや法令に関する知識を持って置き、必要に応じて専門家に相談できる知識を持っておく

Continual Pre-Training for Cross-Lingual LLM Adaptation: Enhancing Japanese Language Capabilities

arxiv.org

  • Swallowの継続事前学習の論文

大規模言語モデル「LLM-jp-13B v2.0」を構築~NII主宰LLM勉強会(LLM-jp)が「LLM-jp-13B」の 後続モデルとその構築に使用した全リソースを公開~

www.nii.ac.jp

ローカルLLMを手軽に楽しむ

zenn.dev

  • OllamaとOpen WebUIを使ってローカルLLMを簡単に動かす方法を紹介した記事

謎の高性能AIモデル「gpt2-chatbot」がChatbot Arenaに登場、GPT-4.5かGPT-5なのではないかと話題に

gigazine.net

iOSAndroid の ローカルLLM実行環境まとめ

note.com

Cohere の Command R/R+ において 128k input tokens は短いのか長いのか

qiita.com

  • Claudeよりもトークン数を節約できる

mistralモデルをベースとした 日本語の大規模言語モデル

www.docswell.com

  • 事前学習用のコーパスクリーニングツールをC++で作成した

rinnaのllama-3-youko-8bを試す。

note.com

Raspberry Pi(ラズパイ)のローカル環境でLLMを動かす

zenn.dev

  • ラズパイ5でollamaを使ってLLMを動かした記事

KAN: Kolmogorov-Arnold Networks

arxiv.org

  • MLPの代替手段としてKANを提案した論文

Spiral.AI、Transformerの限界を克服した次世代LLMアーキテクチャ「RetNet」の学習済みモデルを公開

prtimes.jp

  • 30億パラメータ級のモデルを公開した
  • 公開されたのはベースモデル

Announcing the General Availability of GPT-4 Turbo with Vision on Azure OpenAI Service

techcommunity.microsoft.com

  • Azure OpenAI Serviceで「gpt-4-turbo-2024-04-09」を利用可能となった
  • Vision Enhancements機能はまだ利用できない
  • 画像入力でのJSONモードやFunction Callingは数週間後から利用可能となる

Langfuse

langfuse.com

  • OSS版のLangSmithのようなソフトウェア
  • Dockerを活用したセルフホストもできる

RAGの評価:評価の必要性と問題点

tech.beatrust.com

  • GPT4はタスク内での相対的な評価が苦手

RAGの評価:Ragasの有用性の評価

tech.beatrust.com

  • Regasは英語のデータのほうが評価能力が高い
  • e2eではLangChainのCorrectnessよりも、Regasのほうが相関係数が高かった
  • text-embedding-ada-002ではどんなに似てなくても0.6までしかコサイン類似度が下がらない

[04/27~05/02] 生成AI Weekly News

note.com

GAIA-1: 自動運転のための世界モデルを理解する

zenn.dev

  • GAIA-1は動画やテキスト、アクションに関する情報を元に未来のリアルな動画を生成できる
    • 動画の途中からその続きを生成できる

過学習(過剰適合)のはなし

tjo.hatenablog.com

  • 過学習とは統計的学習モデルをデータに対して当てはめる際に真のシグナルどころかノイズにまで当てはまってしまい、かえってモデルの予測精度が低下すること

専門性の高いデータの読み解きをLLMでスケールさせよう

developers.cyberagent.co.jp

  • 以下の3パートにプロンプト上でタスクを分解し実現する
    • 表形式のデータを言語化する
      • JSONデータを言語に起こす
    • 言語化されたデータを専門性に基づいて読み解き、データが示す意味を言語化した文章の集合とする
      • 専門知識の埋め込みは、プロンプトやone-shotなど様々な方法がある
    • 読み解かれたデータの解釈

NeurIPS-23 参加報告 + DPO 解説

speakerdeck.com

Agents for Amazon Bedrock で Webサイトにチャットボット機能を足してみる

zenn.dev

  • Agents for Amazon Bedrockを使って簡単にwebサイトを構築した記事
  • Agentに知識を追加するためにKnowledge Baseを利用した

Amazon Kendra と Amazon Bedrock で構成した RAG システムに対する Advanced RAG 手法の精度寄与検証

aws.amazon.com

  • Claude3 Haikuを利用してクエリ拡張した
  • 取得した検索結果がユーザーからの質問に関連しているかをClaude3 Haikuで確認した
  • クエリ拡張は回答の質向上に貢献した

Tavily APIの精度を上げるコツ

zenn.dev

-search_depthでフォローアップクエスチョンが表示される

CloudGoat

github.com

  • CTF形式のシナリオで学習に利用できる脆弱なAWS導入ツール

Dify の ワークフロー の概要

note.com

  • ChatflowとWorkflowで同じノードでも違いがある

ローカルLLMはこーやって使うの💢

gist.github.com

  • ローカルLLMだから可能な言語モデルの機能を紹介するGoogle Colabのノートブック

Gemini APIでLangGraphのチュートリアルをGoogle Colabでやってみた

LangGraphのチュートリアルをGemini APIで実行してみたので、メモ

事前準備

実行したコード

! pip install langgraph langchain==0.1.9 langchain-google-genai pillow

まずはツールなしのシンプルなグラフ作成

# 環境変数の準備 (左端の鍵アイコンでGOOGLE_API_KEYを設定)
import os
from google.colab import userdata
os.environ["GOOGLE_API_KEY"] = userdata.get("GOOGLE_API_KEY")

from langchain_google_genai import ChatGoogleGenerativeAI
from langchain_core.messages import HumanMessage
from langgraph.graph import END, MessageGraph



# 利用するモデルをGeminiに変更
model  = ChatGoogleGenerativeAI(model="gemini-pro", temperature=0.9)
# model  = ChatGoogleGenerativeAI(model="gemini-1.5-pro-latest", temperature=0.9) # Gemini1.5を使いたい場合はこちら


graph = MessageGraph()

graph.add_node("oracle", model)
graph.add_edge("oracle", END)

graph.set_entry_point("oracle")

runnable = graph.compile()

作成したグラフの実行

runnable.invoke(HumanMessage("What is 1 + 1?"))

必要な場合にmultiplyを呼び出す例

import json
from langchain_core.messages import ToolMessage,BaseMessage
from langchain_core.tools import tool

# チュートリアルにはなかったが追加
from typing import List

@tool
def multiply(first_number: int, second_number: int) -> int:
    """Multiplies two numbers together."""
    return first_number * second_number



# Geminiを利用するように変更
model  = ChatGoogleGenerativeAI(model="gemini-pro", temperature=0.9)
# model  = ChatGoogleGenerativeAI(model="gemini-1.5-pro-latest", temperature=0.9) # Gemini1.5を使いたい場合はこちら

# https://python.langchain.com/docs/modules/model_io/chat/function_calling/のGoogleの例を参考に変更
model_with_tools = model.bind_tools([multiply])

graph = MessageGraph()

def invoke_model(state: List[BaseMessage]):
    return model_with_tools.invoke(state)

graph.add_node("oracle", invoke_model)

def invoke_tool(state: List[BaseMessage]):
    # idが含まれるのがadditional_kwargsではなく、tool_callsだったので変更
    tool_calls = state[-1].tool_calls
    multiply_call = None

    for tool_call in tool_calls:
        # tool_callsの形式に合わせて変更
        if tool_call.get("name") == "multiply":
            multiply_call = tool_call

    if multiply_call is None:
        raise Exception("No adder input found.")

    res = multiply.invoke(
        # 引数名をあわせる
        multiply_call.get("args")
    )
    return ToolMessage(
        tool_call_id=multiply_call["id"],
        content=res
    )

graph.add_node("multiply", invoke_tool)

graph.add_edge("multiply", END)

graph.set_entry_point("oracle")

LLMがツール呼び出しをするように指示した場合のみ、ツール呼び出しするように修正

def router(state: List[BaseMessage]):
    # ここもtool_callsに変更
    tool_calls = state[-1].tool_calls
    if len(tool_calls):
        return "multiply"
    else:
        return "end"

graph.add_conditional_edges("oracle", router, {
    "multiply": "multiply",
    "end": END,
})

グラフをコンパイルし、実行

runnable = graph.compile()

runnable.invoke(HumanMessage("What is 123 * 456?"))

参考

python.langchain.com

python.langchain.com

note.com

メモ

以下の記事を読む限りだと、bind_toolsを使った場合にtool_callsを使うこと自体はおかしくなさそう blog.langchain.dev

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

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

ゼロから始める自作LLM

note.com

小さなLLMを多数組み合わせることで、単一の巨大モデルに匹敵する可能性

ai-data-base.com

コンテナ使うならAzureで決まり!個人的推しサービスのAzure Container Appsを語る_

www.docswell.com

  • Azure Container AppsはVNETのみに公開もできる
  • 0個にスケールインして課金を止めることもできる
  • ジョブ型のアプリケーションも実行可能

ML system design: 300 case studies to learn from

www.evidentlyai.com

GUIと日本語環境が使えるお手軽Docker環境の使い方

zenn.dev

  • Webtopを使うとDockerコンテナ内でGUIを扱うことができる

blog.google

Heron-Bench: 日本語Vision&Languageモデルの性能評価ベンチマークの公開

zenn.dev

  • Vision Language Model (VLM) のベンチマーク「Heron-Bench」を解説した記事
  • GPT-4を審判としてスコアを算出する

Introducing OpenAI Japan

openai.com

  • OpenAIが日本にオフィスを作る
  • 日本語に最適化したGPT-4のカスタムモデルを提供する予定

OpenAIからBatch APIがリリースされた

https://platform.openai.com/docs/api-reference/batch/create

  • リクエストを24時間以内に実行する
  • APIの価格が50% off

LangChain で Cohere Reranker を試す

note.com

Cohere Compass - 新マルチアスペクト埋め込みモデル

note.com

  • マルチアスペクトデータとは、複数の概念と関係を持つデータ
  • Cohere Compassでは、データをJSONに変換してから埋込出力に変換する

kotoba-tech/kotoba-whisper-v1.0

huggingface.co

  • Whisperlarge-v3と同じぐらい高精度でかつ、6.3倍の高速なモデルがリリースされた

Idefics2 の概要

note.com

  • 「Idefics2」は、テキストと画像を入力し、テキストを出力するマルチモーダルモデル
  • 「Idefics1」からOCR機能が大幅に強化された

API Gatewayを使ってgpt-4からの回答をストリームレスポンスさせる

speakerdeck.com

  • WebSocketを使ってストリーム的にデータの返却をする

饒舌な日本語ローカルLLM【Japanese-Starling-ChatV-7B】を公開しました

note.com

  • 「Japanese-Starling-ChatV-7B」は他の7Bモデルに比べて高い推論能力や文章理解を示すが、その最もシンプルな特徴は「出力テキストの長さ」

Anthropic’s Claude 3 Opus model is now available on Amazon Bedrock

aws.amazon.com

  • Claude3 OpusがBedrockで利用できるようになった

Google Colab で idefics2 を試す

note.com

Announcing the Public Preview of Azure Change Analysis New Portal Experience

techcommunity.microsoft.com

  • Azureですべてのリソースから変更があったリソースをリスト化できるようになった

aiindex.stanford.edu

生成AIによるプロダクトと生産性向上の舞台裏@2024.04.16

speakerdeck.com

  • LLMは応答速度は使い方やモデルによっては時間がかかる場合があるため、早く応答を返すことが求められる C向けサービスでは工夫が必要
  • モデルサイズが大きなモデルはまだ高い
  • 出力内容のコントロールが難しい
  • プロダクト施策では学びながら少しずつ許容範囲を広げる

Evolutionary Optimization of Model Merging Recipes

speakerdeck.com

  • モデルマージのアプローチ2つと進化的モデルマージの結果について説明したスライド

Google Colab で Idefics2 のファインチューニングを試す

note.com

【次世代動画生成】Open-Sora徹底解説【OSS版Sora?】

zenn.dev

  • Open-Soraは Latte と PixArt-αがベース
    • LatteはDiTを使った動画生成モデルのOSS
    • PixArt-αは、DiTを使った画像生成モデルのOSS
  • 動画データを洗剤空間に落とし込むために、StabilityAIの「sd-vae-ft-mse-original」を使用
  • Open-SoraはテキストエンコーダーにCLIPではなくT5を使って居rう

Microsoft の AI 技術 をベースに構成される Craft Functions Copilot

tech.plaid.co.jp

  • GPT3.5 turbo でフォーマットを整えたうえで、AI Searchから検索する
  • System MessageとFew-shot Learningを利用して、プロンプトを改善している
  • JSONモードを利用することでプログラム内で活用しやすいアウトプットさせている

子を持つエンジニアとして。父娘で過ごす、かけがえのない時間を大切にするためにつくった約束事とは

levtech.jp

Mergoo: LLMの効率的なマージと微調整のためのライブラリ (MoE, Mixture of Adapters)

sc-bakushu.hatenablog.com

  • Mergooを利用すると複数のオープンソースLLMを簡単に統合できる
  • 様々なマージ方法を適用できる

1BitLLMの実力を見る

note.com

  • 1bitLLM/bitnet_b1_58-3Bの動かしたかたを紹介した記事

生成AIによる自動評価(LLM-as-a-Judge)のメリットと最新手法をご紹介

www.brainpad.co.jp

  • 確率ベース評価はLLMの回答の生成尤度を評価指標として利用するアプローチ
    • 評価用LLMを用いて、プロンプトの入力(命令文やサンプルを含む評価基の入力)を条件付きとしたときの出力の条件付き生成確率(または生成尤度)をトークンごとに計算し、その加重平均を評価スコアとする手法
  • リッカートスタイルの評価は、オープンエンドの物語生成と敵対的攻撃の2タスクにおいて、人間の専門家とLLMの両方が生成文を5段階評価し比較する
    • 評価は、文法、文章のまとまり、話自体の楽しさ、プロンプトとの関連性の4観点からそれぞれ実施され品質が数値化される

Assistants APIのV2がリリースされた

https://platform.openai.com/docs/assistants/whats-new

  • Retrieval対象のファイルを10,000個まで登録できるようになった
  • トークン数の最大をコントロールできるようになった

ざっくり理解するベクトル検索

speakerdeck.com

  • 最近傍探索
    • 厳密な最近傍を求められるが遅い
  • 近似最近傍探索
    • 厳密ではなく近似的な解を高速に探索
    • アルゴリズム
      • ツリーを使う手法
      • グラフを使う手法
      • ハッシュを使う手法

        SFTTrainer と TrainingArguments を使ってバッチ数を小さくしてステップを少なくした学習コードの解説

hamaruki.com

Supervised Fine-tuning Trainer (SFT) 入門

hamaruki.com

  • SFTTrainer と TrainingArguments を使って、限られたリソースでも効率的に言語モデルをファインチューニングする方法を解説した記事

LLM差分マージしてみた

zenn.dev

  • nekomata-14b + qarasu-14b-chat - Qwen-14Bのモデルマージを実施した記事

CRYPTREC 暗号技術ガイドライン(軽量暗号)2023 年度版

https://www.cryptrec.go.jp/report/cryptrec-gl-2006-2023.pdf

Google Colab で Llama 3 を試す

note.com

llama-cpp-python と gradio で command-r-plus を動かす

gist.github.com

Meta Llama 3の紹介

note.com

  • Llama 3の開発において、新しい高品質の人間による評価データセットが開発された
    • この評価データセットには、アドバイスを求める、ブレインストーミング、分類、クローズドクエスチョンの回答、コーディング、クリエイティブライティング、抽出、キャラクターやペルソナの役割を演じる、オープンクエスチョンの回答、推論、書き換え、要約の12の主要なユースケースをカバーする1,800のプロンプトが含まれる
  • Llama 3ではコンテキストの長さは8,192トーク
  • Llama 3では128Kトークンの語彙を持つトークナイザーを使用
  • Llama 3は、すべて公開されているソースから収集された15T以上のトークンで事前学習されている

言語処理技術セミナー2023「ChatGPTにできること・できないこと」(坂口慶祐先生)

www.youtube.com

Meta Llama 3 models are now available in Amazon SageMaker JumpStart

aws.amazon.com

進化的アルゴリズムをもちいたChatVector加算の最適化

note.com

  • 進化的アルゴリズムをもちいて各layerの加算比率の最適化を測る際に、指標となる評価軸が必要
    • この記事では、ELYZA-tasks-100の最初の10件をGPT-4-turboで評価したものを指標としている

A Survey on Retrieval-Augmented Text Generation for Large Language Models

arxiv.org

BitNetLLMの罠(学習に失敗した話)

note.com

[04/13~04/19] 生成AI Weekly News

note.com

ChatGPT for IT Service Management (IT Pro)

speakerdeck.com

今さら聞けない!? AWSの生成AIサービス Amazon Bedrock入門!

speakerdeck.com

  • langchain-awsパッケージが登場した

400GB程度の清掃済み日本語コーパスを作るまでのメモ書き

note.com

  • 自動挿入系のタグや日付、webでやたらと多発するキーワード類を削除
    • ノイズ除去をしないデータを学習したモデルは、句点(。)のあとに、日付や[送料無料]のような、無意味な出力をする悪いクセがある

「AI事業者ガイドライン(第1.0版)」を取りまとめました

www.meti.go.jp

  • AI の安全安心な活用が促進されるよう、我が国における AI ガバナンスの統一的な指針を示すガイドライン
  • 添付資料にhowが記載されている

LLMに無礼なプロンプトを使用すると性能が低下するリスクの報告 一部、直感に反する複雑な結果も

ai-data-base.com

雑に思考を整理する技術と効能

speakerdeck.com

  • 溜めると書けなくなるから小出しにする
  • 雑な思考の吐き出しは心の安定につながる
  • フィードバッグをもらえる場所に書く
  • 自分がうまくできていないことを書く
  • スマホで書くと思考のスピードを落とし、ちょうどよい
    • 思いついたワードや文章をスマホで雑に書くだけ
  • タイトルは最後に決める
  • なるべくポジティブに変換する
  • 背伸びをしすぎずに、考えを淡々と吐き出すのが大事

小さい計算コストでスマートにLLMをチューニング!-Hugging Face PEFT入門(前編)

zenn.dev

  • LoRAの問題点として、モデルが特定のパターンを学習する必要があるタスクに対して、その他のFine Tuning手法より精度が劣る場合がある

Megatron-LMとGKEで作るMixtral 8x7Bを語彙拡張継続事前学習 Part1 ~学習コードとモデルの先行公開~

tech-blog.abeja.asia

  • istral社のMIxtral 8x7Bをベースにした日本語の語彙拡張版継続事前学習するコードを紹介した記事

cl-nagoya/auto-wiki-qa

huggingface.co

llama.cpp:iMatrix量子化は日本語性能にどう影響するか?

sc-bakushu.hatenablog.com

  • 4bitの量子化では"iMatrix"による効果がはっきりあらわれる
  • 3bit以下の低bit量子化では性能が大幅に劣化する
  • 同じトークンが連続して止まらなくなったり、文章が意味もなく冗長になるのは低bit量子化でよく見る現象

Azure OpenAI Serviceのプロンプトエンジニアリング入門

speakerdeck.com

  • 異なる情報ソースの区切りに「---」を使うことができる

On Your Data を超えていく!

speakerdeck.com

  • 初心者はLogic AppsなどのiPaaSを使うとよい
  • 精度が低くても戦えるようにUXを追求する
  • LLMや検索サービスにラベルを付けさせる

生成AIなんでも展示会:全36枠パンフレット(参加前情報)

note.com

Google Colab で Llama 3 のファインチューニングを試す

note.com

kagglehub を使った大規模言語モデル gemma のファインチューニングとモデル共有

hamaruki.com

ipynb2md.ipynb

github.com

いちばんやさしいローカル LLM

note.com

  • Ollamaを用いて、ローカル環境で LLM を実行するまでを紹介する記事
  • quantkit を使って量子化モデルを作成する方法も紹介されている

サーバーレスの次はなんなんだ

zenn.dev

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

Building a RAG Pattern chat bot with Azure OpenAI and LangChain.js | Azure Developers JavaScript Day

techcommunity.microsoft.com

  • Azure OpenAIとLangChain.jsを利用したRAGアーキテクチャを使用したチャットボットの作成について説明した記事

Azure 技術資料インデックス

github.com

AWS 初学者向けの勉強方法 6 ステップ!2024 年版!

aws.amazon.com

【論文要約】Jamba: A Hybrid Transformer-Mamba Language Model【メモ】

note.com

サイバーエージェントが生成AI活用で「6割の業務削減」を宣言 独自開発中の「AIナスカ」が一翼を担う

enterprisezine.jp

  • AIナスカはスケジュール調整する活用アイデア
    • 重要なアポに割く時間を増やすことを目指す

ナレッジグラフ(知識グラフ)とLLMを掛け合わせる方法のロードマップ

ai-data-base.com

Google Colab で Octopus V2 を試す

note.com

  • 「Octopus-V2-2B」は、Gemma-2Bを追加学習した2BのオープンLLM
  • 「Function Calling」において「GPT-4」に匹敵する性能を達成したとのこと

Feature Engineering A-Z

feaz-book.com

  • 特徴エンジニアリングに特化した本

【速報】Agents for Amazon BedrockがCloudFormationに対応しました(ほぼ一撃)

qiita.com

Azure-Samples/serverless-chat-langchainjs

github.com

  • LangChain.jsとAzureを利用してサーバーレスのRAGアプリを作成するリポジトリ
  • WebアプリをAzure Static WebAppsにデプロイし、APIをAzure Fucntionにデプロイし、チャンク済みデータをAzure CosmosDBのMogoDB vCoreに保存する

RAGの性能を高める「Self-RAG」を3分で理解する

zenn.dev

  • Self-RAGには文書検索が必要かや取得してきた文書からの生成品質をチェックする
  • 生成モデルはファインチューニングしたモデルを使う
    • reflection tokenを混ぜ込めるようにする

普段有償でサポート業務をしているCSAが技術知見を無料で公開する理由

speakerdeck.com

  • 後半に掲載されている表現力を使うための書籍が参考になる

Announcing App Service Multi-plan subnet join

techcommunity.microsoft.com

  • 複数のAppServive プランのVNET統合を1つのサブネットでできるようになった
  • GA時にはサブネットサイズの最小要件が/26になる

マルチモーダルLLMの活用方法と技術解説

zenn.dev

OpenAIのSoraに対抗しているOpen Sora Planを使ってみた

note.com

  • A100で3秒ほどの動画が1分で作られる

⼤規模⾔語モデルの拡張(RAG)が 終わったかも知れない件について

speakerdeck.com

【まとめ】ChatGPTのパフォーマンスを上げて、出力をスムーズにする

qiita.com

  • ChatGPTのパフォーマンスを上げたり、少しでもユーザーの待機感を減らす方法をまとめた記事

Gemini 1.5 Proの新機能 - Native Audio Understanding、System Instructions、JSON Mode、新Embeddingモデル

note.com

  • 音声を入力できるようになった
  • 新EmbeddingモデルはMTEBベンチマークでより強力な検索パフォーマンスを実現した

gpt-4-turbo-2024-04-09がリリースされた

https://platform.openai.com/docs/models/gpt-4-turbo-and-gpt-4

In-context Learningの性能調査の論文紹介

note.com

  • 長いIn-context Learningの性能についてベンチマークを作成して調査した論文の紹介

Llama.cpp で Command R+ を試す

note.com

  • 「Command R+」は、「RAG」や「Tool」などの長いコンテキストタスク向けに最適化された104BのLLM
  • CohereのEmbeddingおよびRerankと連携して動作するように設計されている

Weights & BiasesがLLM評価のベストプラクティスをまとめたホワイトペーパーを発表

prtimes.jp

LLM評価ツールpromptfooとアサーションの解説

tech.algomatic.jp

  • 文字列一致やしきい値との比較、LLMを利用した判断など様々な方法でプロンプトを評価できる
  • 複数のモデルでプロンプトを実行した結果は一度に評価できる

AIで画像からショート動画を作ろう

note.com

  • SadTalkerという画像1枚から用意した音声をベースに動く動画を作成してくれるGitHubのプロジェクトを紹介した記事

Google Colab で CodeGemma を試す

note.com

  • タスクによって3種類のモデルがある
  • プロンプトにコードの補完の生成場所などのスペシャトークンを利用する

AWS Cloud Practitioner(クラウドラクティショナー) 勉強方法【2024年最新版】

zenn.dev

Google Colab で RecurrentGemma を試す

note.com - 新しいアーキテクチャにより、「Gemma」よりも必要なメモリが少なく、長いシーケンスを生成する際に高速な推論を実現

LLMを活用した大規模商品カテゴリ分類への取り組み

engineering.mercari.com

  • ChatGPT 3.5 Turboで一部の過去商品のカテゴリ付けして、機械学習モデルを作成し、大量商品のカテゴリ分類した紹介の記事

Gemini API でラジオ番組の音声からの文字起こしを試す

note.com

  • Gemini APIで音声データの要約や音声文字おこしした記事
  • 文字お越しでは話者分類される

Gemini 1.5 Proで文字起こしを試してみた

note.com

  • Whisperと比較すると処理時間がかかる
  • プロンプトで操作できるため出力結果も不安定

日本語版:AutoCodeRover: 自律的なプログラム改善 (AutoCodeRover: Autonomous Program Improvement)

hamaruki.com

  • LLMとコード検索機能を組み合わせ、プログラムの修正やパッチを生成する

Introducing Rerank 3: A New Foundation Model for Efficient Enterprise Search & Retrieval

txt.cohere.com

  • メタデータフィールドに基づいてランク付けできる
  • 多言語データソースにも対応している
  • 4Kサイズのコンテキストもリランクできる

書評「実践 生成AIの教科書」は企業と組織における生成AIの指針でした

note.com

LLMによる視覚読解技術を確立~グラフィカルな文書を理解する「tsuzumi」実現に向けて~

group.ntt

  • 文書を視覚情報も含めて理解する視覚読解技術を実現したリリース

[04/06~04/12] 生成AI Weekly News

note.com

Gemini API で 動画の質問応答 を試す

note.com

  • 動画を静止画フレームと音声ファイルに分割して使用
  • 1秒あたりのフレーム数でデータ量と詳細レベルを調整
  • 静止画フレームと音声は個別プロンプトとみなされる

Tool Calling with LangChain

blog.langchain.dev

  • 日本語訳の記事
  • LLMプロバイダーにより、「Tool Calling」のインターフェースが微妙に異なるが、LangChainでは簡単に切り替えできるように標準インタフェースを実装した

GradioのChatInterfaceこと始め その6:Llama-cpp-python

note.com

  • llama_cpp_pythonでc4ai-command-r-plus-104bを動かす方法を紹介した記事

進化する生成AIを使いこなせ! エンジニアの生産性を爆上げするChatGPT活用術

codezine.jp

  • 仕事でChatGPTを使う際にポイントとなるのは以下の3つ
    • 変換
    • 抽出
    • 追加データ(RAG)

YC W24に採択された生成AI/AIスタートアップ90社

media.deskrex.ai