タグ

promptと*programに関するsh19910711のブックマーク (285)

  • MLX SwiftでMeta Llama 3を動かす

    macOSやiOSデバイスでLLMの推論を動かすにはllama.cpp[1]やMLX[2]が利用できます MLXはAppleによるプロジェクトSwift APIも公開されています[3] MLX Swiftを使ってデバイス上でLLMを実行するにはMLX Swift Examplesリポジトリで公開されているソースコードが参考になります この中のLLMEvalというアプリは、Hugging Faceから任意のモデルをダウンロードしてきてテキスト生成を実行します。MacとiOSでも動作します LLMEvalは標準で以下のモデルに切り換えて実行できます Llama 3を動かす リストされているllamaはCodeLlamaなので、ここにLlama 3を追加して動かしてみます LLMEvalが依存しているLLMライブラリ(MXLL)のソースコードを更新します Models.swiftに以下のように

    MLX SwiftでMeta Llama 3を動かす
    sh19910711
    sh19910711 2024/04/29
    "Swiftを使ってデバイス上でLLMを実行するにはMLX Swift Examplesリポジトリで公開されているソースコードが参考 / Llama 3: Macでは会話ができ + iPhone 15 Proではメモリが不足しアプリが落ちました"
  • Flash AttentionとDeep Speedを使ってLLMをGPU1枚でフルファインチューニングする - Qiita

    TL;DR Deep Speedのoffload_optimizer機能を使って、VRAM40GBのGPU1枚で3.6BパラメータのLLMをファインチューニングしました。 さらに、Flash Attentionを使うことで、学習を高速化しつつ使用メモリ量も減らし、より長い系列長で学習を行うことができました。 はじめに Flash AttentionはAttentionの計算で使用するGPUメモリ量を系列長の2乗のオーダーから1乗に削減する技術で、xformersやoptimum、さらにはtransformersライブラリでも簡単に使用できるようになってきています。 前回の記事(1, 2)では、LLMの推論においてFlash Attentionを使ってみたのですが、推論ではあまり効果が見られないという結論を得ました。 今回はFlash Attentionが領を発揮するであろう学習(ファイン

    Flash AttentionとDeep Speedを使ってLLMをGPU1枚でフルファインチューニングする - Qiita
    sh19910711
    sh19910711 2024/04/28
    "Flash Attention: 推論ではあまり効果が見られない / GPU1枚で学習を行うためにDeep SpeedのZeRO-2を使用 / 系列長を長くして1ステップ当たりに含まれるトークン数を増やすと、学習が効率化されて高速化される傾向" 2023
  • Microsoftの最新SLM Phi-3-miniをGoogleコラボで動かしてみた - Qiita

    はじめに Microsoft社が2024年4月23日に商用利用可な小型言語モデル(SLM)のPhi-3(mini(3.8B)、small(7B)、medium(14B))を発表し、同日miniについて公開しました。 *3.8B〜14Bのため大規模言語モデル(LLM)とは言わず小規模言語モデル(SLM)と言っているのは共感が持てます。他の言語モデルも名称を共通化して欲しいですね😁 どのくらいの精度のものなのか早速検証してみました。 検証環境 今回は、Phi-3-mini-4k-Instructモデルを使用しました。 Googleコラボ Pro+ で A100 環境を使用しました。GPU RAMが8.4GB程度で動いているのでV100等でも動くと思います(なお、CPUでも動くとありましたがCPUリソースでは筆者の環境では残念ながらレスポンスが返ってきませんでした)。 パラメータは、max_n

    Microsoftの最新SLM Phi-3-miniをGoogleコラボで動かしてみた - Qiita
    sh19910711
    sh19910711 2024/04/28
    "Phi-3: Microsoft社が2024年4月23日に商用利用可な小型言語モデル(SLM)のPhi-3(mini(3.8B)、small(7B)、medium(14B))を発表 / GPU RAMが8.4GB程度で動いている + CPUでも動くとあり / 日本語で答えてくれました + それなりの文章生成"
  • Amazon Bedrock+Anthropic Claude 3 Sonnetで会話履歴を保持するSlackチャットボットを作成する - Qiita

    Amazon Bedrock+Anthropic Claude 3 Sonnetで会話履歴を保持するSlackチャットボットを作成するDynamoDBslackbotAWSSAMbedrockclaude3 はじめに 前回の記事「Amazon Bedrock+Anthropic Claude 3 SonnetSlackチャットボットを作成する」では、会話履歴を保持しないシンプルなSlackチャットボットを作成しました。 記事では、DynamoDBを使って会話履歴を保持するチャットボットを作成してみました。会話履歴の呼び出しや更新にLangchainのChatMessageHistoryを使うことで、DynamoDBに会話履歴を保存する処理を簡単に実装できました。 デモ動画 チャットボットとの会話履歴 このように、追加の質問に対し、チャットボットは会話履歴を踏まえた回答を生成しました。

    Amazon Bedrock+Anthropic Claude 3 Sonnetで会話履歴を保持するSlackチャットボットを作成する - Qiita
    sh19910711
    sh19910711 2024/04/27
    "DynamoDBChatMessageHistory (LangChain): DynamoDBに会話履歴を保存 + 会話履歴を踏まえた回答を生成 / ラップのリズムに乗せて説明してください。といったリクエストを送ると、チャットボットがそれに答えてくれます"
  • Copilot ChatとOpenAI APIとPandas - たーせる日記

    アウトプットをサボりすぎた。 書き残しておきたい事はそれなりにあったのだが、生来の筆無精がこのところ加速してしまい、様々なことをやりっぱなしにしてしまっていた。 そんなわけで今日はテーマが非常に雑多である。 それぞれゆるく繋がってはいるが、いかんせんとりとめが無く申し訳ない。 来は話題を一つだけに精選し、丁寧なチュートリアルの形でお届けしようかとも考えたが、そんなことはどこかの誰かがとうの昔にやっていそうなので、今回は純粋に「僕は今こんなことをやっています」という実況中継にしたい。 Copilot Chatとの邂かい逅こう 最近、遅ればせながらGitHub Copilot Chat(以下Copilot Chat)との会話に嵌はまっている。 VOICEVOXのずんだもんで遊んでいた(´ω`*) 声が聞き取りやすくてびっくりー。 pic.twitter.com/g18aKzYdzf— たーせ

    Copilot ChatとOpenAI APIとPandas - たーせる日記
    sh19910711
    sh19910711 2024/04/26
    "Copilot “Chat”の方は「ChatGPTとの棲み分けが分からん」という意味不明な理由で食指が動かなかった / ミニマルなサンプルコードをCopilotに生成させ、それを足がかりにしてライブラリの仕様を掘り下げる" 2023
  • GitHub Copilot Chatでハッシュ(#)を使ったコンテキスト変数を試してみた | DevelopersIO

    はじめに GitHub Copilot Chat で #file, #editorのように # を利用すると、質問と同時に渡したい情報を投げることができる context variables という機能があります。 今回は現在(2024/2/8)までで利用可能な context variables を全て試してみました。 #file : 選択したファイル チャットプロンプトと共にワークスペース内の指定されたファイルをコンテキストとして含めるために#fileを追加しました。入力の提案コントロールから#fileを選択し、表示されるクイックピックからファイルを選択してください。 可能であれば、ファイルの完全な内容が含まれます。コンテキストウィンドウに収まりきらないほど大きい場合は、実装を除いた関数とその説明を含むファイルのアウトラインが含まれます。アウトラインも大きすぎる場合は、ファイルはプロン

    GitHub Copilot Chatでハッシュ(#)を使ったコンテキスト変数を試してみた | DevelopersIO
    sh19910711
    sh19910711 2024/04/25
    "terminalLastCommand: ターミナルで最後に実行したコマンドをコンテキストとして送り + エラー内容まで読み取ってくれる / テスト実行時に失敗しているファイルのサマリを見やすく表示するとかで使う"
  • Cohere Command R+とGPT4, Claude3, Gemini1.5の引用段落抽出精度を比較してみた - CreateField Blog

    はじめに 先日、2024/4/4 CohereからCommand R+という新たなLLM(大規模言語モデル)が発表されました。 Cohereは、Transformerモデルを提唱した論文共同執筆者の人が立ち上げたカナダのAIベンチャー企業のようです。 https://ascii.jp/elem/000/004/192/4192907/ Command R+とは、最大で128Kトークンが処理が可能で、コストはGPT4Turboの3~5倍ほど安いモデルです(Claude3 Sonnetと同等)。 先日、以下の記事にてGPT, Claude3, Gemini別に審査官による特許引用文献段落の再現率の検証を行いました。 ChatGPT, Claude3, Gemini別に審査官による特許引用文献段落抽出の再現率を検証してみた - CreateField Blog Gemini 1.5 Pro AP

    Cohere Command R+とGPT4, Claude3, Gemini1.5の引用段落抽出精度を比較してみた - CreateField Blog
    sh19910711
    sh19910711 2024/04/25
    "Cohere: Transformerモデルを提唱した論文共同執筆者の人が立ち上げたカナダのAIベンチャー / Command R, Command R+にはRAG特化の引用元抽出の機能があり / 適合率: どれだけ誤った生成なしに正解できたかどうか(ノイズが少ないか)"
  • Command R+はどこまで量子化するとアホになってしまうのか?

    今回は、ローカルで動かせるCommand R+の量子化モデルを色々使ってそれぞれにElyzaTasksベンチマークを解かせるという事をやる。 何故そんな事をする必要があるんですか? まず、LLMのパラメータは来1パラあたり16bitの精度で保存されている。しかし、LLMを動かすとメチャクチャメモリやVRAMう。だから、精度を下げちゃえば省メモリになっていんじゃね?という話で、8bitやら4bitやら2bitに精度を下げちゃう事が、特にLlama.cpp界隈では常識的に行われている。これが量子化だ。というか、コンシューマレベルのPCでLLMを実用的に動かしたいと思えば、量子化はもはや必須テクである。 量子化でbit数を下げれば下げるほど、当たり前だがLLMの回答の精度、クオリティは下がっていく。要するにアホになってく。8bitはまったく問題なし。6bit、5bitも全然問題なし。4bit

    Command R+はどこまで量子化するとアホになってしまうのか?
    sh19910711
    sh19910711 2024/04/25
    "ElyzaTasks100: 自動評価させるには、一般的にはGPT-4のAPIが使われ + 一回の評価で1ドルから2ドルかかる / Command R+のAPI: 無料で叩けるのは一ヶ月間に1000回 / VRAM72GBにすれば4bitのCommand R+が全部VRAMに載って快適動作になるらしい"
  • PaLM APIのファインチューニングではてな匿名ダイアリー風文章生成モデルを作る - laiso

    PaLMとは PaLM APIのファインチューニング はてな匿名ダイアリー風文章生成モデルとは Quotaの申請 データセットの作成 トレーニングJobの実行 チューニング済みモデルで文章生成する おまけ: gpt-3-5-turboでも同じファインチューニングしてみた チューニングなし チューニングあり ジョブの実行部分 PaLMとは PaLMはGoogleの大規模言語モデルです。先日、日語に対応しました。 www.itmedia.co.jp PaLM APIのファインチューニング PaLM APIの基的な利用方については以下の記事が参考になります。 zenn.dev 6月頃に「PaLMって英語の受け答えにしか対応していないけど日語でファインチューニングしたらどうなるんだろう*1」と思って実行してみたんですけど、当然のごとくエラーが出て失敗しました。 今回日語に対応したので、再度

    PaLM APIのファインチューニングではてな匿名ダイアリー風文章生成モデルを作る - laiso
    sh19910711
    sh19910711 2024/04/24
    "「差別的な内容など・データセットに問題あり」警告が100件程出てきて完全に題材見誤った / GoogleのGenerative AI Preview Products利用規約に従い生成された文章は第三者に公開できません" 2023
  • 料理のリバースエンジニアリングをするアプリ(※GPT4-Vision APIとStreamlitで料理の写真からレシピを生成する) - Qiita

    import base64 import json import requests import time import streamlit as st PROMPT_TEMPLATE = """画像の料理レシピを考えてください。 自分を信じて限界を超えてください。 # 制約条件 ・料理の画像が入力された場合は、以下の形式でレシピを出力してください。 # 出力形式 【画像の料理の名称】 【材料】 ・豚肉の薄切り:100g ・玉ねぎ:1/2個 ・生姜:一片 【調理工程】 ・豚肉は一口大に切り、塩コショウをふる。 ・玉ねぎは薄切りにする。 """ def get_gpt_openai_apikey(): with open("secret.json") as f: secret = json.load(f) return secret["OPENAI_API_KEY"] def encode

    料理のリバースエンジニアリングをするアプリ(※GPT4-Vision APIとStreamlitで料理の写真からレシピを生成する) - Qiita
    sh19910711
    sh19910711 2024/04/24
    "画像から料理レシピを生成 / 架空の料理等は作らせたくない場合には、プロンプトで[料理以外の画像には「料理の画像をアップロードしてください」と返してください]と入れておけば、そう返すようになります" 2023
  • LangChainを用いた4種類のRAG質問応答chainの実装と性能比較

    はじめに この記事で想定している読者の方: LangChainで簡単でもコードを書いたことがある人 LLM chainについてざっくりと理解している人 公開されているLLMをapi経由で用いて様々な処理を記述できるライブラリ 「LangChain」にて, 主に外部から文書を与える際に用いられる以下の4つのchainをご存知の方も多いと思います。 stuff chain map reduce chain map rerank chain refine chain 今回は, 実際にstreamlitを用いて4つのchainを使用したchatアプリのデモ作成し, それを用いてchainごとの性能比較を行いました! 比較では単純な応答能力の比較に加えて, 生成時間やAPI料金の観点からも比較を行なったので, ぜひ読んでみてください! TL;DR 今回の実験は以下のgif画像のようなデモアプリを用い

    LangChainを用いた4種類のRAG質問応答chainの実装と性能比較
    sh19910711
    sh19910711 2024/04/24
    "refine chain: 毎回の出力を次の文書に加えてLLMに入力 + パフォーマンス観点では圧倒的 / refineは他2つと比べて抜き出しだけでなく正しい解釈を行えていた / 一方で, API料金・生成時間の点ではrefineは劣っている"
  • Vercel AI SDK で Ollama を使う方法

    はじめに Vercel AI SDK (React 等から LLM の API をいい感じに stream で呼び出せるようにするやつ) から Ollama (OSS の LLM をローカルで動かすやつ) を呼び出す方法を調べました。 参考 課題 Vercel AI SDK の サンプルコードを、OpenAI から Ollama の langchain のモデルを使って、置き換えて動かそうとしたけど、なぜかうまくいかなかった。 解決方法 ここのディスカッションにいろんな解決方法が記載されている。その中からいくつか試した。 解決方法 1 OpenAI Compatibility API を使う OpenAI API と同じ API で呼び出す方法。呼び出せるモデルに制約がある。マルチモーダルの llava は呼び出せない。 URL 変えるくらい。シンプル。すんなり動いた。 解決方法 2 la

    Vercel AI SDK で Ollama を使う方法
    sh19910711
    sh19910711 2024/04/23
    "Vercel AI SDK: React 等から LLM の API をいい感じに stream で呼び出せる / OpenAI Compatibility API (Ollama): OpenAI API と同じ API で呼び出す + 呼び出せるモデルに制約 / 最近、langchain のライブラリの一部が、coreとcommunityにわかれた"
  • 大規模言語モデル(LLM)のSwallowをColabの無料枠で動かしてみた

    Sallowは東工大と産総研による大規模言語モデル(LLM)です。 Sallowを動かしてみたいという高校生の依頼により調べてみたところ、有料のGoogle Colab Proを使ってGPUが十分に利用できるようにしておく必要があるようでした。 しかしながら、やはり無料で試してみたいということで動くかどうかやってみました。 Colabの無料枠ではT4というGPUが選択されますが、最小モデルである7b-instructというモデルを使えば、サンプルは無事動きました。 コードはDr.(Shirai)Hakase しらいはかせ による以下のコードを利用させて頂きました。 https://github.com/aicuai/GenAI-Steam/blob/main/20231220_SwallowLLM.ipynb githubのトップにあるOpen in Colabでノートブックを開きます。

    大規模言語モデル(LLM)のSwallowをColabの無料枠で動かしてみた
    sh19910711
    sh19910711 2024/04/22
    "Swallow: 東工大と産総研による大規模言語モデル / T4: 最小モデルである7b-instructというモデルを使えば、サンプルは無事動きました + 13bのモデルを使うとダウンロードは可能でしたが、応答に30分以上かかり"
  • LLMモデル "Llama3" を 4bit 量子化して実行してみた - Qiita

    概要 一昨日発表された Llama3 を4bit量子化 してつかってみました GPUVRAM は 6GB 程度消費します Llama3の 語彙数は 32000(Llama2) => 128256 へと大幅に増えました 環境 NVIDIA RTX A5000 Python 3.11.4 ソースコード Llama3 を bitsandbytes で 4bit 量子化して読み込み、GPUメモリ使用量を確認します import transformers import torch from transformers import AutoModelForCausalLM, AutoTokenizer, BitsAndBytesConfig, set_seed from datetime import datetime def cout_memory_availability(label): ""

    LLMモデル "Llama3" を 4bit 量子化して実行してみた - Qiita
    sh19910711
    sh19910711 2024/04/22
    "Llama3: bitsandbytes で 4bit 量子化して読み込み + GPUの VRAM は 6GB 程度消費 (A5000) / HuggingFaceのサーバーが込み合ってるらしく、なんども再実行したせいでモデルのダウンロードにまる1日費やしました"
  • moonbit で json パーサーを書いてみた 感想

    エアプにならないために、実際に moonbit を使ってコードを書いてみた感想を書く。 JSON Parser を書いた パッケージレジストリである https://mooncakes.io を見た限り、使いやすい json parser がなさそうなので、とりあえず自分用のをでっち上げた。 mooncakes.io に publish してあるので、 moon add mizchi/json で使える。品質が良くなくても ネームスペース付きで publish するので別に邪魔にならない気がした。 なんで作ったかというと、公式 example の cloudflare workers の example は単純なフィボナッチを計算するだけで、構造的なデータを返すことができない。 moonbit と js 間の文字列の受け渡しについては、あとで別の記事を書く。 使い方 fn main { l

    moonbit で json パーサーを書いてみた 感想
    sh19910711
    sh19910711 2024/04/21
    "Moonbit: TypeScript を Rust の文法で書いてる感覚 + moon test が十分使いやすい / Copliot: usage.mbt として vscode にピン留め + copilot は補完に開いているファイルをみる + Rust との差分を教えている"
  • 【LLM論文を読む】Chat Vector:LLMに新たな言語での指示追従とアラインメントを付与するシンプルなアプローチ - ローカルLLM自由帳

    前回の記事につづき、「LightChatAssistant 2x7B」に高いチャット性能をもたらした要素について調べています。 基的には、1)ベースモデルとしての「ChatNTQ JA 7B」の日語性能の高さ、2) MoEマージで総パラメータ数が増えることによる全般的な性能向上、3) 小説生成モデル「Antler-7B」とのマージによるモデル特長の相互補完、の3点でかなりの部分が説明できそうです。 一方で、モデル作者のSdff-Ltbaさんはマージ前のモデルに対してChat Vectorという処理を施し、チャット能力を高めたと説明されています。よって、Chat Vectorがどの程度の性能向上に寄与しているのかもざっくり知りたい気がします。 さしあたって、そもそもChat Vectorとは何かについて簡単に予習しておきたいと思います。元のarXiv論文は、2023年10月に台湾の研究グ

    【LLM論文を読む】Chat Vector:LLMに新たな言語での指示追従とアラインメントを付与するシンプルなアプローチ - ローカルLLM自由帳
    sh19910711
    sh19910711 2024/04/21
    "すでに「Task Vector」というアプローチがあり(微調整済みモデルの重みから事前学習済みモデルの重みを引き算 / ChatVector: 重みをどれらい強くかけるかはケースバイケース + 1でかけると出力に英語が混ざったりする"
  • 小さい計算コストでスマートにLLMをチューニング!-Hugging Face PEFT入門(前編)

    はじめに 株式会社Elithで先月よりインターンとして働き始めた森川です。今回は、大規模言語モデル(以下、LMM)の研修中に興味を持ったパラメータ効率の良いFine Tuning手法(Parameter-Efficient Fine Tuning、 PEFT)について、サーベイを行いました。記事では、Hugging Faceで実装されている主なPEFTを紹介し、最後に今後の展望について述べます。記事で使用する図は、参考文献から引用されています。 Fine Tuningの必要性と問題点 Fine Tuningは各下流タスクに合わせて大規模な事前学習済みモデルの重みを微調整することです。LLMのパラメータをタスクごとに一から訓練することは計算資源や計算時間の観点で現実的ではないため、モデルの作成の際には、事前に汎用的なタスクに使用できるように学習された大規模言語モデルを使用することが一般的

    小さい計算コストでスマートにLLMをチューニング!-Hugging Face PEFT入門(前編)
    sh19910711
    sh19910711 2024/04/21
    "LoRA: 重みの増分行列を低ランク行列で近似 + 少ないパラメータ数の学習でFull FTと同等の性能改善を目指す / 数学やポーカーのようなルールに基づいた思考を必要とするタスクに対するFine Tuningを苦手とする傾向"
  • Github Copilotを活用したテスト駆動開発 - テコテック開発者ブログ

    こんにちは。決済認証システム開発事業部の齊藤です。 最近Github Copilot(以下、Copilot)を試験導入し使っているのですが、開発する上で特にテスト駆動開発が捗ることに気づきました。そこで、社内外の方にもCopilotを使ったテスト駆動開発を広められれば、全体的に開発効率を上げることができるのではないかと思い記事を書きました。 目次 目次 Copilotとは テスト駆動開発とは Copilotを活用したテスト駆動開発の手順とメリット テスト駆動開発の手順 Copilotを使用したテスト駆動開発 Copilotを使ったテスト駆動開発のメリット テストコードを書くスピードが上がる テストコードの品質が上がる テストコードを書くストレスが減る その他にも…… Copilotを使ったテスト駆動開発の注意点 まとめ Copilotを使ったテスト駆動開発の今後の展望 テコテックの採用活

    Github Copilotを活用したテスト駆動開発 - テコテック開発者ブログ
    sh19910711
    sh19910711 2024/04/20
    "テストコードがあると、テストコードの内容を元に実装コードを予測してくれることもある / 仕様をテストコードに落とし込んでから実装する / 見落としを減らすことができるのでテストコードの品質が上がります" 2023
  • ChatGPTでE2Eテストコード自動作成 | フューチャー技術ブログ

    9/7に行われた技育CAMPアカデミアというイベントでPlaywrightについて話をしてきました。テストというと、設計手法であるところのテスト駆動開発は別としてちょっと業務っぽい感じがして学生さんにはちょっと響かないかな、というのも心配でしたが、アンケートを見る限り、わかりやすかったという声も多くてほっとしました。 次のスライドが今回の資料です。スライドの内容の多くはPlaywright連載始まりますに掲載されている記事にもぼつぼつある内容も多い(APIテストはないですが)のですが、エントリーでは発表の最後に触れたChatGPTなどの生成AIを使ったE2Eテストの生成について説明していきます。 ChatGPTが話題を席巻してしばらく経ちます。とはいえ、内製開発での利用以外はソースコード開発にばりばり使う、みたいな宣言はあまり聞かない気がします。利用を制限している会社も数多くあります。

    ChatGPTでE2Eテストコード自動作成 | フューチャー技術ブログ
    sh19910711
    sh19910711 2024/04/20
    "HTMLを渡すだけでそれを操作するコードを書いてくれました / Cypressはずっと安定したAPIを提供し、Playwrightはアクティブに機能追加したりしている印象がありますが、これが生成AI経由に使い勝手に影響" 2023
  • Mergoo: LLMの効率的なマージと微調整のためのライブラリ (MoE, Mixture of Adapters) - ローカルLLM自由帳

    「Merggoo」というLLMマージ用の新しいライブラリができたそうで、開発者の方がRedditでもPRポストを上げておられます。 もしかするとMegekitに代わるものになるのかもしれません。MoEのルーティングの学習や、LoRA Adapterの混合など。 面白そうなので後で試せればと思いますが、概要だけ先に見ておこうと思います。以下、開発者ブログの和訳です。 Mergoo: 効率的にマージし、微調整する (MoE, Mixture of Adapters) huggingface.co 私たちは最近、複数の LLM エキスパートを簡単に統合し、統合された LLM を効率的にトレーニングするためのライブラリである mergoo を開発しました。このライブラリでは、さまざまな汎用またはドメインベースの LLM エキスパートの知識を効率的に統合できます。 🚀 Mergooでは次のことが可

    Mergoo: LLMの効率的なマージと微調整のためのライブラリ (MoE, Mixture of Adapters) - ローカルLLM自由帳
    sh19910711
    sh19910711 2024/04/20
    "Merggoo: LLMマージ用の新しいライブラリ + MoEのルーティングの学習や、LoRA Adapterの混合 / 汎用的なものからドメイン固有のものまで、さまざまな LLM エキスパートの知識を統合 / Bertベースのエキスパートもサポート"