最新のLLMを利用したシステム開発 LLMOpsのワークフロー LLMを利用したシステム開発では、LLM自体から開発する(基盤モデルの構築)、学習済みのLLMに対し、独自に収集したラベルデータで特定タスク向けに調整する(特定タスクへのファインチューニング)、学習済みのLLMをそのまま利用するが、RAGなどの仕組みで知識を補完する(独自データからの知識統合)という選択肢があります。
https://note.com/wandb_jp/n/n1aa6d77f33cf
LLMの発展によるAI/ML開発の変化 従来のLLMによるシステム開発 従来のLLM(Large Language Model, 大規模言語モデル)では、大量のコーパスにより事前学習モデル(これが言語モデル)を作成し、特定のタスクに特化した少量のラベルデータによりファインチューニングを行うことを想定していました。
MLOpsの概要 MLOpsとは MLOpsは機械学習(Machine Learning, ML)の開発と運用を統合する実践であり、ソフトウェア開発でのDevOpsの原則と手法を機械学習モデルのライフサイクルに適用したものです。MLOpsの主な目的は、機械学習を利用したシステムの品質保証にあります。
Huggingface で公開されている日本語モデルを使って QA タスクをファインチューニングする TL;DR Huggingface で公開されている事前学習済み日本語モデルを利用し、Question-Answering タスク用のデータセットでファインチューニングする際のサンプルコードです。
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を利用し、以下に対するファインチューニングを行っています。