Ahogrammer

Deep Dive Into NLP, ML and Cloud

2025-01-01から1年間の記事一覧

Text Embeddings InferenceをBlackwell GPUで動かす

Hugging Faceが提供するText Embeddings Inferenceは、テキスト埋め込みモデルで高速な推論を提供するためのツール。久しぶりに使おうとしたところ、執筆時点では手元のBlackwellアーキテクチャのGPUには正式対応していないことに気がついた。幸い、プルリク…

Gemini APIの構成的関数呼び出しでマルチホップQAを試す

Gemini APIのドキュメントを読んでいたところ、「構成的関数呼び出し(compositional function calling)」という機能があることに気がついた。この機能を使うと、LLMが関数を順番に呼び出しながら、段階的に複雑な要求を処理できる。たとえば「現在地の気温…

Deep Research用MCPサーバーの構築と独自データへの対応

2025年2月のリリース以来、Deep ResearchはChatGPTユーザーの間で広く利用されるようになった。私自身、6月ごろにLangGraphを使って独自に実装もしたが、その後の6月26日、OpenAIからDeep Research専用のモデル(o3-deep-research / o4-mini-deep-research)…

LLMによる文書解析の性能を比較したリーダーボード

文書解析といえば、Azure Document IntelligenceやMarkItDown、Doclingなどが広く使われている。近年ではマルチモーダルLLMの登場によって、これまでOCRや専用エンジンに頼っていた処理もLLMで実現できるようになりつつある。以前はプロプライエタリなモデル…

軽量な画像分類器を用いた業務画像の分類

文書の解析をするためのPythonパッケージであるDoclingのドキュメントを何気なく眺めていたら、Picture classificationなる機能があることに気がついた。どうやら、文書中の画像を以下のカテゴリに分類できるようだ。 棒グラフ(bar_chart) バーコード(bar…

MarkItDownでパワーポイントから画像を抽出

MarkItDownを使うと、ExcelやパワーポイントなどさまざまなファイルをMarkdown形式に変換できる。パワーポイントの場合、LLMを渡すことで画像のキャプションを生成できて便利なのだが、残念ながら生成時に並行処理を利用していないので、画像が多数含まれる…

ゼロショットで画像を分類し、種類ごとにLLMでテキスト化・構造化する

RAGで使われる検索システムでは、テキストデータを対象とすることが多いですが、実際の文書には画像として重要な情報が含まれることも多くあります。これを踏まえ、LLMを用いて画像をテキスト化し検索できるようにする試みがありますが、人物写真や背景画像…

Geminiを用いた擬似適合性フィードバックによる検索性能の改善

先週は、言語処理学会の年次大会を聴講していました。数多くの興味深い発表がありましたが、仕事でRAG周りの開発に携わっていることもあって、検索やLLMの生成結果を評価する方法について重点的に聴講しました。 そんな中で、製造業の実データを対象としたRA…

言語処理学会の年次大会が始まるのでトレンドを時系列で分析してみた

2025年3月10日から言語処理学会の年次大会が開催されるため、聴講や予稿を読むのを楽しみにしています(毎年)。せっかくなので、自分でも何か手を動かして取り組んでみたいと思い、過去10年分の論文タイトルを取得し、クラスタリングとキーワード抽出をして…

無限関係モデルを用いたクラスタリングのPython実装

本記事では、無限関係モデル(Infinite Relational Model; IRM)の概要と周辺化ギブスサンプラーによる推論について簡単に解説した後、Pythonを用いた実装例を示します。さらに、Zachary’s Karate Clubデータセットを用いて、無限関係モデルをクラスタリング…

Geminiを使うと本当に1ドルで6000ページ分のPDFをMarkdown化できるのか?

少し前に、Hacker Newsで以下の記事が話題になっていました。 www.sergey.fyi この記事では、Geminiのモデル(Gemini 2.0 Flash)を使うと、1ドルで6000ページ分のPDFをMarkdown化できるという話が書いてあります。方法的には、各ページを画像化してモデルに…

確率的ブロックモデルによる関係データのクラスタリング

本記事では、確率的ブロックモデル(Stochastic Block Model; SBM)の概要と周辺化ギブスサンプラーによる推論について簡単に解説した後、Pythonを用いた実装例を示します。さらに、Zachary’s Karate Clubデータセットを用いて、確率的ブロックモデルをクラ…

ブロックごとの量子化を実装する

QLoRAについて少し書く機会があったので、その要素技術であるブロックごとの量子化(block-wise quantization)の解説とその実装をしてみました。実際のところ、bitsandbytesなどのライブラリに実装されているので、自前で実装する必要はまったくないのです…