LM Studio 0.3.0

2024-08-22

LM Studio 0.3.0 をついにリリースできることを非常に嬉しく思います 🥳。

LM Studio 0.3.0 chat screen

LM Studio 0.3.0 のライトモードでの新しいチャットページ

LM Studio

LM Studio は、その開始以来、ローカル LLM をコンピューター上で実行する際に最大限に活用するためのいくつかの要素をまとめてパッケージ化してきました。

  • 完全にオフラインで動作し、テレメトリーがないデスクトップアプリケーション
  • 使い慣れたチャットインターフェース
  • 検索&ダウンロード機能(Hugging Face 🤗経由)
  • OpenAI のようなエンドポイントでリッスンできるローカルサーバー
  • ローカルモデルと設定を管理するシステム

今回のアップデートでは、1年以上のローカルLLMの運用から得られた知見をもとに、これらの多くの側面を改善、深化、簡略化しました。

Mac、Windows(x86 / ARM)、またはLinux(x86)用のLM Studioは、https://lmstudio.dokyumento.jp からダウンロードしてください。

LM Studio 0.3.0 の新機能

ドキュメントとのチャット

LM Studio 0.3.0 には、LLM にドキュメントセットを提供し、それらについて質問する機能が組み込まれています。ドキュメントが十分に短い場合(つまり、モデルの「コンテキスト」に収まる場合)、LM Studio はファイルの内容を会話に完全に追加します。これは、Meta の Llama 3.1 や Mistral Nemo など、長いコンテキストをサポートするモデルに特に役立ちます。

ドキュメントが非常に長い場合、LM Studio は「Retrieval Augmented Generation」(RAG と呼ばれることが多い)を使用することを選択します。RAG とは、非常に長いドキュメント(または複数のドキュメント)から関連性の高い部分を取り出し、モデルに参照として提供することを意味します。この手法は非常にうまく機能することもありますが、調整や実験が必要になる場合もあります。

RAGを成功させるためのヒント:クエリにできるだけ多くのコンテキストを提供してください。関連するソース資料に含まれると思われる用語、アイデア、単語に言及してください。これにより、システムが LLM に役立つコンテキストを提供する可能性が高まります。いつものように、実験が最適な方法を見つけるための最良の方法です。

OpenAI のような構造化出力 API

OpenAI は最近、信頼性の高い JSON 出力を実現できる JSON スキーマベースの API を発表しました。LM Studio 0.3.0 は、LM Studio で実行できるローカルモデルでこれをサポートしています!アプリ内に、これを行うためのコードスニペットが含まれています。右側のペインの[開発者]ページで探してください。

UI テーマ

LM Studio は2024年5月に、レトロなダークテーマと、遊び心で Comic Sans が散りばめられた状態で初めてリリースされました。OG ダークテーマは健在で、LM Studio 0.3.0 では、ダーク、ライト、セピアの3つの追加テーマが導入されました。「システム」を選択すると、システムのダークモード設定に応じて、ダークとライトが自動的に切り替わります。

自動ロードパラメータ、ただしフルカスタマイズも可能

LLM のロードと推論パラメータの詳細に精通している人もいれば、当然のことながら、気にしない人もいます。LM Studio 0.3.0 は、実行しているハードウェアに基づいてすべてを自動構成します。ボンネットを開けて自分で設定したい場合は、LM Studio 0.3.0 にはさらにカスタマイズ可能なオプションがあります。

プロのヒント:[マイモデル]ページに移動し、各モデルの横にある歯車アイコンを探してください。アプリのどこでも使用されるモデルごとのデフォルトを設定できます。

ネットワークでサービスを提供

サーバーページに移動すると、「ネットワークでサービスを提供」という新しいトグルが表示されます。これをオンにすると、サーバーが「localhost」以外からのリクエストを受け付けるようになります。つまり、ネットワーク上の他のデバイスから LM Studio サーバーを使用できるようになります。複数の LLM を同時にロードしてサービスを提供できる機能と組み合わせることで、多くの新しいユースケースが開かれます。

チャットを整理するためのフォルダ

複数のプロジェクトを同時に進行している場合に便利です。フォルダの中にフォルダをネストすることもできます!

各チャットに対する複数の生成結果

LM Studio には以前から「再生成」機能がありました。「再生成」をクリックすると、以前のメッセージ生成結果が保持され、使い慣れた右矢印/左矢印インターフェースを使用して簡単にページを切り替えることができます。

LM Studio 0.2.31 から 0.3.0 へのチャット移行方法

複数バージョンの再生成などの機能をサポートするために、内部で新しいデータ構造を導入しました。0.3.0 より前のチャットを移行するには、「設定」に移動し、「チャットを移行」をクリックしてください。これによりコピーが作成され、古いファイルは削除されません。

アップデートの全リスト

UIを完全に刷新

  • テーマ、スペルチェック、修正機能を追加
  • lmstudio.js (TypeScript SDK) をベースに構築
  • 新しいチャット設定サイドバーのデザイン

基本的な RAG (検索と生成)

  • PDF、.txt ファイル、その他のファイルをチャットウィンドウに直接ドラッグアンドドロップ
  • RAG (PDF / .docx) の最大ファイル入力サイズを 30MB に増加
  • RAG はあらゆるファイルタイプを受け付けますが、.pdf/.docx 以外のファイルはプレーンテキストとして読み込まれます。

自動 GPU 検出 + オフロード

  • お使いのマシンの機能に基づいて、GPU と CPU 間でタスクを分散
  • 手動で上書きすることも可能

"LM ランタイム" の参照とダウンロード

  • アプリ全体を更新せずに最新の LLM エンジン (例: llama.cpp) をダウンロード
  • 利用可能なオプション: ROCm、AVX のみ。今後さらに追加予定

自動プロンプトテンプレート

  • LM Studio はモデルファイルからメタデータを読み取り、プロンプトのフォーマットを自動的に適用します。

新しい開発者モード

  • モデルのロードログを表示、サービス用に複数の LLM を構成、ネットワーク経由 (ローカルホストだけでなく) で LLM を共有
  • json_schema を使用した OpenAI のような構造化された出力をサポート

チャットのフォルダ整理

  • チャットを整理するためのフォルダを作成

プロンプト処理の進捗インジケータ

  • プロンプト処理の進捗率 (%) を表示

強化されたモデルローダー

  • モデルのロード前に、ロードパラメータ (コンテキスト、GPU オフロード) を簡単に構成
  • 特定のモデルファイルに対して、構成可能なすべてのパラメータのデフォルトを設定する機能
  • パラメータを制御するためのチェックボックスを備えた、改善されたモデルローダー UI

埋め込みモデルのサポート

  • 埋め込みモデルのロードと提供
  • 複数のモデルの並列処理をサポート

ビジョン対応モデル

  • チャットと API での画像添付

会話トークン数の表示

  • 現在のトークン数と合計コンテキストを表示

プロンプトテンプレートのカスタマイズ

  • プロンプトテンプレートを上書きする機能
  • "Jinja" テンプレートを編集するか、手動でプレフィックス/サフィックスを提供
  • 組み込みのチャットテンプレート (ChatML、Alpaca、空白など)

会話管理

  • 会話メモの追加
  • 特定のメッセージでチャットをクローンおよび分岐

カスタマイズ可能なチャット設定

  • チャットスタイルとフォントサイズを選択
  • ロード時に各モデルの設定を記憶

初期翻訳

  • スペイン語、ドイツ語、ロシア語、トルコ語、ノルウェー語のサポート
  • 不足している文字列や新しい言語へのコミュニティの貢献を歓迎します!
  • https://github.com/lmstudio-ai/localization

構成パラメータのサブタイトル

  • すべての構成パラメータの説明的なサブタイトル

さらに多くの機能