LLM推論基盤プロビジョニング講座 第2回 LLMサービスのリクエスト数を見積もる

LLM

LLM推論基盤プロビジョニング講座 第2回 LLMサービスのリクエスト数を見積もる

こんにちは! 今回はLLM推論基盤プロビジョニング講座 第2回です! STEP2 LLMサービスへのリクエスト数見積もり それでは、早速、LLM推論基盤プロビジョニングの第2ステップである「リクエスト数見積もり」の重要性と方法を解説いたします。 LLMサービスを構築する際に必要となるGPUノード数を適切に見積もるためには、まずサービスに対して想定されるリクエスト数を正確に予測する必要があります。 リクエスト数見積もりの基本的な考え方 LLMサービスへの想定リクエスト数から必要なGPUノード数を算出するプロセスは、サービス設計において非常に重要です。過小評価すればサービス品質が低下し、過大評価すれば無駄なコストが発生します。このバランスを適切に取るための基礎となるのがリクエスト数の見積もりです。 想定リクエスト数の諸元 リクエスト数を見積もるための5つの重要な要素(諸元)をみてみましょう。 1. DAU(Daily Active Users): 1日あたりの実際にサービスを利用するユーザー数です。これはサービスの規模を示す最も基本的な指標となります。 2. 1日

By Qualiteg コンサルティング

Latest

シェルスクリプトからcondaコマンドを活用したいとき

日々の開発Tips

シェルスクリプトからcondaコマンドを活用したいとき

こんにちは! 今日はみんな大好きcondaコマンドについてです。 condaコマンドで仮想環境に入って、何らかの処理をして、戻ってくる ようなシェルスクリプト、バッチタスクをやるときのTipsです。 AI開発において、Anacondaとその中核であるcondaパッケージマネージャーはとっても重宝します。 しかし、シェルスクリプトから自動的にcondaを利用しようとすると、意外なハードルがあります。 本記事では、シェルスクリプトからcondaコマンドを正しく呼び出す方法について解説します。 condaと非対話モードの課題 AnacondaがインストールされているLinux環境において、condaコマンドは通常、.bashrcや.bash_profileなどの設定ファイルによって初期化されます。 なんとなくシェルをつかっていると、このcondaコマンドの初期化を忘れてしまいますが、これらの設定は多くの場合シェルの「対話モード」でのみ有効になるように設計されています。 ゆえにシェルスクリプトのような非対話モードでは、condaコマンドが正しく機能してくれません 例えば、.b

By Qualiteg プロダクト開発部
Node.jsで大容量ファイルを扱う:AIモデルのような大きなデータ保存はストリーム処理使いましょう

日々の開発Tips

Node.jsで大容量ファイルを扱う:AIモデルのような大きなデータ保存はストリーム処理使いましょう

こんにちは!今日はAIシステムのフロントサーバーとしてもよく使用するNode.jsについてのお話です。 AIモデルの普及に伴い、大容量のデータファイルを扱う機会が急増しています。LLMなどのモデルファイルやトレーニングデータセットは数GB、場合によっては数十、数百GBにも達することがあります。 一方、Node.jsはWebアプリケーションのフロントサーバーとして広く採用されており、データマネジメントやPythonで書かれたAIバックエンドとの橋渡し役としてもかなりお役立ちな存在です。 本記事では、Node.js v20LTSで5GB程度のファイルを処理しようとして遭遇した問題と、その解決方法について解説します。 Node.jsのバッファサイズ制限の変遷 Node.jsのバッファサイズ制限は、バージョンによって大きく変化してきました Node.jsバージョン サポート終了日 バッファサイズ上限 備考 Node.js 0.12.x 2016年12月31日 ~1GB 初期のバッファサイズ制限(smalloc.kMaxLength使用) Node.js 4.

By Qualiteg プロダクト開発部
AGI時代に向けたプログラマーの未来:役割変化とキャリア戦略

Blog

AGI時代に向けたプログラマーの未来:役割変化とキャリア戦略

はじめに 私がはじめてコードを書いたのは1989年です。 当時NECのPC88というパソコンを中古でかってもらい N-88 Basic というBASIC言語のコードをみようみまねで書いて動かしたあの日から何年経つのでしょうか。 当時、電波新聞社のマイコンBASICマガジンという雑誌があり、ベーマガにはいろんなパソコン向けのプログラムコードが掲載されていました。 そんなわけでもう35年以上趣味や仕事でプログラミングに従事していますが、開発環境、情報流通の仕組みには革命といっていいほどの変化、進化がおこりました。 しかしながら、そんな中でも、あくまでコードを書くのは「私」という生身の人間でした。 そうしたある種の古き良き時代は、いよいよ本格的に終わりを告げようとしています。 2023年ごろからのLLM技術の飛躍的進歩により、プログラミング業界は大きな転換期を迎えています。 特に、OpenAI o3,o1やClaude 3.5、Gemini2.0などの大規模言語モデル(LLM)の進化や、その先にある将来的な汎用人工知能(AGI)の出現は、プログラマーやAIエンジニアの役割に根

By Tomonori Misawa / CEO
PythonとWSL開発のトラブルシューティング: PyCharmとCondaの環境不一致問題

日々の開発Tips

PythonとWSL開発のトラブルシューティング: PyCharmとCondaの環境不一致問題

こんにちは! 今回は、WSL上のConda環境をPyCharmから利用する際に発生した「同じ環境なのにパッケージリストが一致しない」という問題に遭遇したため、その原因と対策について書いてみたいとおもいます 問題の状況 開発の流れは以下のようなものでした 1. WSL環境でConda仮想環境を作成 2. その環境をPyCharmのプロジェクトインタプリタとして設定 3. 開発を進める中で奇妙な現象に気づく 具体的には、次のような不一致が発生していました * PyCharmのプロジェクト設定で表示されるpipパッケージのリスト * WSLでConda環境をアクティベートした後にpip listコマンドで表示されるパッケージのリスト これらが一致せず、「WSL側のシェルから直接インストールしたパッケージがPyCharmで認識されない」という問題が生じていました。 この手の問題でよくある原因は、PyCharm側がWSL側の更新を得るのに少し時間がかかったり、 Indexing が遅れているなどなのですが、今回はそれが原因ではありませんでした。 危険な「静かな

By Qualiteg プロダクト開発部
人気ゲーム「ヒット&ブロー」で学ぶ情報理論

AI数理

人気ゲーム「ヒット&ブロー」で学ぶ情報理論

こんにちは! Qualiteg研究部です! 今日はAIにおいても非常に重要な情報理論について、Nintendo Switchの人気ゲーム「世界のアソビ大全51」にも収録されている「ヒット&ブロー」というゲームを題材に解説いたします! はじめに 論理的思考力を鍛える定番パズルゲームとして長年親しまれている「ヒット&ブロー」(海外では「Mastermind」として知られています)。 このゲームは一見シンプルながらも、その攻略には深い論理的アプローチが必要とされております。 本稿では、このゲームについて情報理論という数学的概念を用いてゲームの素性を分析する方法について掘り下げてみたいとおもいます。 さらに、この情報理論が現代の人工知能(AI)技術においてどのように活用されているかについても触れていきます。 ヒット&ブローのルール説明 ヒット&ブローは、相手が秘密に設定した色や数字の組み合わせを推測するゲームです。日本では主に数字を使った「数当てゲーム」として親しまれていますが、本記事では色を使ったバージョン(マスターマインド)に焦点を当てます。 Nintendo Sw

By Qualiteg 研究部
Model Context Protocol(MCP)入門:いよいよセマンティックWebの世界へ

Blog

Model Context Protocol(MCP)入門:いよいよセマンティックWebの世界へ

こんにちは! きょうは話題のMCPについて解説いたします! はじめに 「AIが便利なのはわかるけど、自分のデータにアクセスさせたり、他のアプリと連携させたりするのは難しそう...」 このような悩みを持っている方は多いのではないでしょうか。 実際、従来のAIには大きな壁がありました。トレーニングデータの範囲でしか回答できない、リアルタイム情報にアクセスできない、外部アプリケーションを操作できないなどの制約です。 トレーニングデータの外側にあるデータをうまく検索する技術としてLLM黎明期からRAGとよばれる技術が発展してきました。 データ検索だけではなく、あらゆる分野でAIが半ば自動で連携してくれる技術が登場しました。 それが「Model Context Protocol(MCP)」です。 本記事では、AIと外部ツールの連携を革新的に簡単にするMCPについて、基本から実用まで詳しく解説します。 MCPの本質:AIのための標準インターフェース MCPは、AIモデルと外部ツール・アプリケーションの間の通信を標準化するプロトコルです。これはインターネットの世界でいえば、

By Qualiteg プロダクト開発部
GPUサーバーの最適容量計算: キューイング理論と実践的モデル

IT & AIテクノロジー

GPUサーバーの最適容量計算: キューイング理論と実践的モデル

最大ユーザーサポート数計算ツール 同時に1件のみ処理できるGPU変換サーバーの最大ユーザーサポート数を計算します 処理時間 (t_p) 分/件 1件の変換処理にかかる時間 目標システム利用率 (ρ) 0 〜 1 安定稼働のための目標稼働率(推奨: 0.7〜0.8) ピーク係数 (P_c) 倍 最も混雑する時間帯の平均アクセス倍率 稼働時間 (H) 時間/日 システムが1日に稼働している総時間 アクセス確率 (P_a) 0 〜 1 1人のユーザーが1日にシステムを利用する確率 1ユーザーあたりの変換回数 (F) 回/日 利用する日の平均変換処理回数 計算過程を表示 計算結果 サポート可能な総ユーザー数: 人 計算式: N = (ρ × μ × H) ÷ (P_a

By Qualiteg プロダクト開発部
WSL2でDNS解決がうまくいかない問題と解決方法

日々の開発Tips

WSL2でDNS解決がうまくいかない問題と解決方法

こんにちは! Windows Subsystem for Linux (WSL2)は、Windows上でLinux環境を利用できる素晴らしい機能ですが、中にはDNS解決に関する問題が発生することがあります。この記事では、その症状と効果的な解決方法を紹介します。 検証環境 この記事で紹介する方法は、以下のバージョンで検証しています WSL バージョン: 2.4.13.0 カーネル バージョン: 5.15.167.4-1 WSLg バージョン: 1.0.65 MSRDC バージョン: 1.2.5716 Direct3D バージョン: 1.611.1-81528511 DXCore バージョン: 10.0.26100.1-240331-1435.ge-release Windows バージョン:

By Qualiteg プロダクト開発部
PyTorch 2.6 のセキュリティ: モデルチェックポイントロードの安全対策

NumPy/PyTorch

PyTorch 2.6 のセキュリティ: モデルチェックポイントロードの安全対策

こんにちは! 今日は、魅力的なPyTorchチェックポイントが配られているからと言って無邪気に使っちゃうと、超ヤバイよ、というお話になります。 みなさまモデルチェックポイントをロードする際のセキュリティリスクについて考えたことはありますでしょうか。実はモデルの重みファイルだとばかり思っていたチェックポイントが、思わぬセキュリティホールになる可能性があります。 本記事では、PyTorchのtorch.load関数の安全性と、モデルチェックポイントを適切に扱うための実践的なガイドラインを紹介します。 モデルチェックポイントの隠れた危険性 PyTorchのtorch.load関数は非常に便利な一方で、セキュリティ上の重大なリスクを含んでいます。 その理由は、 * チェックポイント単なるパラメータだけではないよ! チェックポイントファイルには、モデルの重み(weights)だけでなく、クラスや関数など任意のPythonコードを含めることが可能です。 * 実行可能なコードが入ってるよ! これは、チェックポイントが単なる「データファイル」ではなく、Pytho

By Qualiteg プロダクト開発部
[AI新規事業創出]Qualitegオリジナル、アイデア評価、事業アイデア選定方法

AI-Business

[AI新規事業創出]Qualitegオリジナル、アイデア評価、事業アイデア選定方法

Qualiteg blogを訪問してくださった皆様、こんにちは。Micheleです。AIを活用した新規事業やマーケティングを手がけている私には、クライアントからよく寄せられる質問があります。AIを用いた事業展開を検討されている方々が共通して直面するであろう課題に対して、このブログを通じて私なりの解答をご提供したいと思います。 AIを活用した事業アイデア評価と選定方法 | Qualitegオリジナルアプローチ 新規事業の立ち上げは、アイデアの創出から始まりますが、その後の評価と選定プロセスこそが成功の鍵を握ります。Qualitegでは、AIを積極的に活用した独自の評価・選定メソッドを開発し、より客観的かつ多角的な視点でビジネスアイデアを検証しています。今回は、私たちの実践的なアプローチをご紹介します。 AIを活用したアイデア評価の基本フレームワーク 当社のアイデア評価プロセスは、以下の2段階で構成しております。 1. 多次元評価マトリックスによる定量分析 まず、出てきたアイデアについて、ChatGPTなどの大規模言語モデル(LLM)を活用し、以下の8つの評価軸でアイデア

By Join us, Michele on Qualiteg's adventure to innovation
Windows Terminal で「無効な "icon" を持つプロファイルが見つかりました。既定では、そのプロファイルにアイコンはありません。」が出たときの対処法

日々の開発Tips

Windows Terminal で「無効な "icon" を持つプロファイルが見つかりました。既定では、そのプロファイルにアイコンはありません。」が出たときの対処法

何度か、WSL にいろんなバージョンのLinux を入れたり消したりしたときに遭遇した現象です ユーザー設定の読み込み中にエラーが発生しました 無効な "icon" を持つプロファイルが見つかりました。既定では、そのプロファイルにアイコンはありません。"icon" を設定するときは、値が画像への有効なファイルパスとなっていることをご確認ください。 が発生するときの原因と対象法のレポートです 原因 使われなくなったゾンビ・プロファイルがWindows Terminal (のキャッシュ)に残り続ける 対処法 このメッセージを解消するには、いったん、プロファイルをリセットする必要がありました。 ※既存プロファイル設定が消える場合があるので留意すること Step1 Windows Terminal を落とす Windows Terminal をいったんすべて落とす Step2 settings.json を消す エクスプローラーで settings.json のあるフォルダに移動しファイルを削除する %LOCALAPPDATA%\Packages\Micros

By Qualiteg プロダクト開発部
本番運用におけるPyTorch+CUDAサーバーでの「Unknown Error」問題とその対策

NumPy/PyTorch

本番運用におけるPyTorch+CUDAサーバーでの「Unknown Error」問題とその対策

こんにちは!Qualitegプロダクト開発部です。 今日は、GPUをつかった商用サービスにて悩ましい、テストは全部通るけど、長時間運用をしていると急に起こる「CUDA error: unknown error」についての内容です。 これ、出会うと残念な気持ちになりますが、けっこうGPU商用サービス界隈では「あるある」なんです。 原因を真面目に探るには CUDAバージョン、PyTorchバージョンの調合具合、実際のアプリケーションコードまですべてソースまで追う必要があるのですが、多くの場合、運用でカバーします。 なぜなら仮に1つ原因をみつけて対処できたとしても、CUDAバージョンはしょっちゅうあがりますし、PyTorchもそれに追従して頻繁に更新されます。さらにやっかいなことに、1日、2日、いや1週間くらいは安定的に動作しているようにみえて、数週間後にとつぜんエラーが出るといった具合なので、修正確認の難易度が高いんです。 そこで本日は「開発環境や実験環境」ではなく「本番環境」で発生しがちなこのCUDA Unknown Error について問題の原因と実践的な対策につい

By Qualiteg プロダクト開発部