LangChain と OpenAI API を使って Slack 用のチャットボットをサーバーレスで作ってみる TL;DR LangChainを使って Slack 用のチャットボットを作ってみました。AI/ML モデルは OpenAI API(text-davinci-003)を利用しています。LangChain の Memory 機能を利用しており、会話の履歴も考慮して返信することができます。この際、OpenAI 側のモデルの入力トークン制限が問題になりますが、ConversationSummaryBufferMemoryを利用することで、一定のトークン数を超える履歴は要約して保持するようになっています。
Huggingface で公開されている日本語モデルを使って QA タスクをファインチューニングする TL;DR Huggingface で公開されている事前学習済み日本語モデルを利用し、Question-Answering タスク用のデータセットでファインチューニングする際のサンプルコードです。
LangChain を使ってチャットボットとお話しするアプリを作ってみる TL;DR LangChainとGradioを使ってチャットボットとお話しするアプリケーションを作ってみました。チャットボット部分はOpenAIの API を使用しているため、ChatGPT と同じような性能です。
Gradioを使った機械学習モデルのデモンストレーションをAWS App Runnerでサービスする TL;DR Gradioを利用すると機械学習モデルをデモンストレーションするためのWebアプリを簡単に作成することが可能です。Gradioを利用したWebアプリを他の人に使ってもらう方法として、クラウド上にデプロイすることが考えられますが、比較的安価かつ簡単にデプロイする環境としてAWS App Runnerを使ってみました。
Integrated Gradientsでグラフニューラルネットワークを可視化する TL;DR Integrated Gradients(統合勾配)を利用して、グラフニューラルネットワークによる推論モデルの可視化を行ってみました。よくあるデータセットだと効果が直感的にわかり難いと感じたため、日本語ベンチマーク用データセットであるJGLUEのMARK-jaを利用し、日本語の文を係り受け解析した上でグラフ構造に変換して入力し、Itegrated Gradientsによりどの語句として表現されたノードの反応を可視化してみました。
OpenAI Whisper を使って音声から文書の要約を行ってみる TL;DR 話題のOpenAI - Whisperで文字起こしをやっていました。単純に試すだけなら色々な記事がでているので、音声入力から文書要約までを行ってみました。以下のようなワークフローです。全てGoogle Colab上で実行しています。
Stable Diffusion を GPU なしのローカル PC で動かす TL;DR DALL・E 2やMidjourneyなど、テキストから画像を生成するモデルが話題になっていますが、その中でもStable Diffusionはオープンソースとしてモデルが公開されています。Hugging Face経由で利用ができるため、簡単にローカル PC で動かすことができます。ということで試してみました。
1 つのグラフに対し、PyG の Sampler を利用してMini Batchによる学習を行う TL;DR 大きな構造のグラフをグラフニューラルネットワークで学習する場合、メモリに乗り切らない可能性があるため、サンプリングして学習する必要があります。
JGLUE/MARC-jaをGoogle Colabで評価してみる TL;DR ヤフー株式会社により、標準的な自然言語処理の標準ベンチマークであるGLUEの日本語版としてJGLUEが公開されています。
今回は日本語の二項分類タスクの評価用データセットであるMARC-jaについて、Google Colab上で実際に評価してみました。モデルはHuggingfaceを利用し、以下に対するファインチューニングを行っています。
GitHub Actions + Hugo + AWS S3 + CloudFrontでホームページをリニューアルしました TL;DR www.inoue-kobo.comは静的サイトジェネレータにより生成しています。今まではMkDocsで運用していたのですが、Hugoに乗り換えてみました。ついでにCI/CDパイプラインをAWS CodeBuildからGitHub Actionsに変更しています。