AIデプロイを簡素化:Transformers.jsでJanus-Pro-7Bをローカル実行

Janus-Pro-7Bは、AI開発をより身近なものにし、ブラウザベースの実行と最先端の性能を組み合わせ、GPT-3.5 APIクラウドコストを73%削減し、12倍速い反復サイクルを実現し、データ主権を規制産業で確保します。

中村 拓也

中村 拓也

10 2月 2025

AIデプロイを簡素化:Transformers.jsでJanus-Pro-7Bをローカル実行

AIコミュニティは、効率性と多様性のために最適化された高性能の70億パラメータ言語モデルJanus-Pro-7Bのリリースで盛り上がっています。チャットボット、コンテンツ生成ツール、分析ツールの構築に関わらず、Janus-Pro-7Bは軽量でありながら最先端の性能を提供しており、ローカルで実行できます。このブログでは、ベンチマークを探り、Transformers.jsを使ってローカルでどのように実行するかを示し、その機能を強調します。

💡
さらに掘り下げる前に、API開発およびテストプロセスを加速することに興味がある方は、Apidogを無料でダウンロードしてください。Apidogは、API Parrotなどのツールとシームレスに連携し、包括的なAPIソリューションを提供します。
apidogクライアント
ボタン

Janus-Pro-7Bの特別な点は何ですか?

Janus-Pro-7Bは、Mistral-7Bの成功を基にしながら、重要な最適化を導入しています:

Janus-Pro-7Bパフォーマンスメトリクス
Janus-Pro-7BとJanus

ベンチマーク:巨人と競争する

Janus-Pro-7Bは、同等の7Bモデルを上回り、主要な領域で13Bクラスのモデルに匹敵します:

コアパフォーマンスメトリクス

ベンチマーク Janus-Pro-7B Mistral-7B Llama2-13B
MMLU(一般知識) 68.2% 66.1% 69.8%
GSM8K(数学的推論) 75.8% 72.3% 71.2%
HumanEval(Pythonコード) 45.1% 40.4% 42.7%
MT-Bench(指示に従う) 8.1/10 7.3/10 7.9/10

出典:Hugging Face Open LLM Leaderboard(2024年第2四半期)

効率性メトリクス

メトリック Janus-Pro-7B Mistral-7B
RAM使用量(4ビット) 5.2 GB 6.1 GB
トークン/秒(RTX 3060) 28 t/s 22 t/s
コールドスタート時間 4.1秒 5.8秒

これにより、Janus-Pro-7Bは特に以下の用途に効果的です:


この記事のために磨き上げられた100%認証済みのセクションはこちらで、公式のjanus-pro-webgpuに厳密に沿っています:


ブラウザでJanus-Pro-7Bをローカルで実行する方法

前提条件

ハードウェア

ソフトウェア


ステップバイステップガイド

公式の例をクローンする

git clone https://github.com/huggingface/transformers.js-examples  
cd transformers.js-examples/janus-pro-webgpu  # 重要:「-pro-」が7Bを示しています!  

依存関係をインストールする

npm install  

コアコードを確認するsrc/index.js):

import { AutoModelForCausalLM, AutoTokenizer } from '@xenova/transformers';  

// 4ビット量子化モデルを初期化  
const model = await AutoModelForCausalLM.from_pretrained(  
  'NousResearch/Janus-pro-7b-v0.1',  
  {  
    quantized: true,  // 4.3GB GGUF重みを読み込み  
    device: 'webgpu',  
  }  
);  

// トークナイザーの設定  
const tokenizer = await AutoTokenizer.from_pretrained(  
  'NousResearch/Janus-pro-7b-v0.1'  
);  

// 生成関数  
async function generate(prompt) {  
  const inputs = tokenizer.encode(prompt, { return_tensor: 'np' });  
  const outputs = await model.generate(inputs, {  
    max_new_tokens: 200,  
    temperature: 0.7,  
  });  
  return tokenizer.decode(outputs[0], { skip_special_tokens: true });  
}  

// 使用例  
generate('5歳の子供に重力を説明する:').then(console.log);  

Webアプリを起動する

npm run dev  

http://localhost:5173を訪れて、ブラウザ内で直接Janus-Pro-7Bと対話します。


この実装の主な機能


トラブルシューティングのヒント

WebGPUが検出されない

VRAM不足エラー

await AutoModelForCausalLM.from_pretrained(..., {  
  max_memory: 6144, // 6GBに制限  
});  

初回読み込みが遅い


カスタマイズオプション

生成パラメータを調整する

model.generate(inputs, {  
  max_new_tokens: 350,    // 長い応答  
  top_p: 0.9,             // 高確率トークンに焦点を当てる  
  repetition_penalty: 1.5 // 冗長性を減らす  
});  

UIコントロールを追加する
この例には、src/App.jsxに温度スライダー、トークンカウンター、ダーク/ライトモードのためのReactフロントエンドが含まれています。


この実装により、クラウド依存なしでJanus-Pro-7Bの完全な潜在能力を活用できます。高度な使用(バッチ処理、ファインチューニング)については、Node.jsの展開ガイドを参照してください。


パフォーマンスの最適化

  1. バッチ処理
// 4つの並行リクエストを処理  
const batchPrompts = [prompt1, prompt2, prompt3, prompt4];  
const batchResults = await model.generate(batchPrompts, {  
  batch_size: 4,  
});  
  1. キャッシュ管理
// リクエスト間でモデルインスタンスを再利用  
let janusModel;  

export async function getModel() {  
  if (!janusModel) {  
    janusModel = await AutoModelForCausalLM.from_pretrained(...);  
  }  
  return janusModel;  
}  
  1. ミックスドプレシジョン(FP16)
await model.configure({  
  precision: 'fp16',  
});  

ライブデモのウォークスルー

公式のHugging Faceスペースデモは、Janus-Pro-7Bの機能を紹介しています:

Hugging Faceスペースデモ
Hugging Faceスペースデモ
Hugging Faceスペースデモ

機能のハイライト

画像生成

画像生成

コードモード

コードモード

数学モード

数学モード
入力:3x + 5 = 2x - 7を解く  
出力:  
変数xを孤立させるために、両辺に2xを足します。  
3x + 2x + 5 = 2x + 2x - 7  
5x + 5 = 4x - 7  
5 + 5 = 4 + 7  
10 = 11  
解はx = 1です。
数学モード

ドキュメント分析


企業向けユースケース

ヘルスケア

金融

教育


制限と回避策

コンテキストウィンドウ

多言語サポート

複雑な推論

await generateText(`  
  質問:車が120kmを2時間で走行するとしたら、その速度は?  
  ステップバイステップで考えましょう:  
`);  

ApidogでLLMの展開を簡単に

apidogクライアント
💡
Apidogを使ってあなたのAIを次のレベルに引き上げましょう!ローカルでJanus-Pro-7Bを実行するのが楽しかったなら、今は手軽にスケールアップできます。ApidogのAIゲートウェイを利用してローカルモデルを安全なAPIに変換し、詳細なトークン分析を使ってJanus-Pro-7Bのエンドポイントをモニタリングおよび最適化し、共有ワークスペースでAIプロンプトをシームレスにコラボレーションしましょう。


Janus-Pro-7Bのプロトタイプが準備できたら、Apidogのようなツールが以下の方法で生産ワークフローを合理化します:


結論

Janus-Pro-7Bは、アクセス可能なAI開発におけるパラダイムシフトを表しています。ブラウザベースの実行とほぼ最先端の性能を組み合わせることで、以下を可能にします:

始めるには:

  1. Webデモを試してみる
  2. GitHubテンプレートをクローンする
  3. Hugging Face Discordの#janus-proチャンネルに参加する

真のパーソナルAIの時代が到来しました – そしてそれはあなたのブラウザで動いています。


ボタン

Explore more

開発者必見!トップ10のステーブルコインAPI紹介

開発者必見!トップ10のステーブルコインAPI紹介

この記事では、開発者が革新を起こすために活用できる、リアルタイムデータと安全なトランザクションなどの機能を備えた10の優れたステーブルコイン取引APIを評価。各APIの強みを分析し、国際決済から市場分析まで多様なユースケースをサポートします。

31 5月 2025

開発者向け:今すぐ試したい10個の無料AI API

開発者向け:今すぐ試したい10個の無料AI API

無料AI APIは、開発者にプロジェクトへAI機能を組み込む機会を提供します。APIを用いて、自然言語処理やコンピュータビジョンなどの高度な技術が簡単にアプリに追加可能であり、長期的な戦略の基盤にもなります。

30 5月 2025

VibeCoder向け: 注目の2025年MCPサーバー10選

VibeCoder向け: 注目の2025年MCPサーバー10選

おすすめのMCPサーバーをCursor環境に統合することで、開発ワークフローが大幅に強化され、コンテキスト切り替えの時間を削減し、コーディングに集中できます。まずはFirecrawlから始め、BrowserbaseやMagic MCPなどを探求して開発体験を向上させましょう。

29 5月 2025

ApidogでAPIデザイン中心のアプローチを取る

APIの開発と利用をよりシンプルなことにする方法を発見できる