Latest

推論時torch.tensor(sourceTensor)ではなくて、sourceTensor.clone().detach()を使おう

NumPy/PyTorch

推論時torch.tensor(sourceTensor)ではなくて、sourceTensor.clone().detach()を使おう

PyTorchのテンソル操作最適化: 警告メッセージの理解と解決 こんにちは! Qualiteg プロダクト開発部です。 PyTorch 1.13にて、次のような警告メッセージに遭遇しました UserWarning: To copy construct from a tensor, it is recommended to use sourceTensor.clone().detach() or sourceTensor.clone().detach().requires_grad_(True), rather than torch.tensor(sourceTensor). この記事では、この警告の意味を解説し、修正方針についてかきたいとおもいます。 torch.tensor() よりも .clone().detach() のほうがおすすめなのか それは、PyTorchがテンソルと自動微分(オートグラッド)をどのように扱うかに関係があります。 torch.

By Qualiteg プロダクト開発部
[ChatStream] 同時リクエスト時の推論速度を手軽に計測する

[ChatStream] 同時リクエスト時の推論速度を手軽に計測する

こんにちは、Qualitegプロダクト開発部です。 今回は RakutenAI-7B-Chat に5人同時リクエストしたときのパフォーマンスをお手軽に計測してみました。 実験環境 * GPU: A5000 * LLM: RakutenAI-7B-Chat AWQ-8 * 推論環境: ChatStream v0.7.2 * 同時リクエスト数: 5 動画のほうがわかりやすいとおもいますので、実際の実験の様子はこちらの動画をつくりました。ご覧くださいませ 動画にもありますように、ChatStreamUIのマルチタスク機能を有効にすると、同一画面内に複数のチャットウィンドウを開くことができます。 マルチタスク機能は、複数のLLMを連携させて業務をすすめていく為の機能ですが、今回は、この特長を利用して、同じモデルに対して同時に生成リクエストを投げる用途で使ってみました。以前も、この機能をつかった簡易計測をご紹介したのですが、今回は、入力プロンプトの同期機能を使用したので、より簡単に実施できました。 (1つのテキストボックスに入力プロンプトを入力すると、他のテキストボック

By Qualiteg プロダクト開発部
LLMサンプリングにおける3つのペナルティ

ChatStream Guide

LLMサンプリングにおける3つのペナルティ

[付録]ペナルティの比較 ペナルティタイプ 目的 適用方法 ペナルティの例 Repetition Penalty 特定のトークンやフレーズが繰り返されるのを防ぐ。 過去に生成されたすべてのトークンのログ確率(logits)に対してペナルティを適用する。 例えば、あるトークンがすでに生成された場合、そのトークンのログ確率をペナルティ値で割る(乗算)か、ペナルティ値を引く(減算)。 Frequency Penalty 生成されたトークンの出現頻度に基づいてペナルティを適用し、頻繁に出現するトークンを抑制する。 各トークンが生成された回数に基づいてペナルティを適用する。トークンが出現するたびに、そのトークンの出現確率を低減させる。 トークンが出現するたびに、そのトークンのログ確率をペナルティ値で累積的に割る(乗算)か、ペナルティ値を累積的に引く(減算)。 Presence Penalty すでに生成されたトークンが再度出現するのを防ぐ。 トークンが一度でも生成されたかどうかに基づいてペナルティを適用する。一度生成されたトークンには再出現の際にペナルティが適用さ

By Qualiteg プロダクト開発部
Google Gemini 1.5 API の機能、特徴、価格と使い方

IT & AIテクノロジー

Google Gemini 1.5 API の機能、特徴、価格と使い方

こんにちは!(株)Qualiteg テックブログです! 【2024年7月2日更新版】 本日は Google Gemini 1.5 Pro/ Gemini 1.5 Flash モデルの特徴、価格、Pythonをつかったテキスト生成について解説いたします。 Google Gemini とは Google Geminiは、Googleが提供する生成AIプラットフォームです。高品質なテキスト生成を行うためのAPIを提供し、さまざまなアプリケーションで自然な言語生成を利用できます。Geminiは多くの業界で使用されており、コンテンツ作成、カスタマーサポート、チャットボット、マーケティング、教育など、幅広い用途に対応しています。 APIキーの取得方法 Google Geminiを利用するためには、APIキーが必要です。以下の手順でAPIキーを取得できます。 Google AI Studio にアクセスして、手順にしたがい、Get API key でAPIキーを作成します。 https://aistudio.google.

By Qualiteg 研究部
[AI新規事業創出] Qualitegが考える、アイディア創造でやるべきこと、やってはいけないこと

AI-Business

[AI新規事業創出] Qualitegが考える、アイディア創造でやるべきこと、やってはいけないこと

私たちQualitegは、AI技術を活用したサービス開発を通じて、アイディア創造が新たな価値を生み出す基礎であると考えています。アイディア創造では、多様な視点を受け入れ、オープンマインドを持ち続けることが重要です。また、生成AIを活用しながら、異なる背景を持つチームメンバーからの積極的な参加を促します。早期のプロトタイピングと検証も推奨し、アイディアに固執せず、広い選択肢から最適なものを選び出す柔軟性を持つことが、成功への鍵です。

By Join us, Michele on Qualiteg's adventure to innovation
[自作日記19] SW編: CUDA と Pytorch の導入

GPUマシン自作

[自作日記19] SW編: CUDA と Pytorch の導入

今回は CUDA と Pytorch をインストールします 4.2 CUDA(+cuDNN) と Pytorch の同時インストール Pytorch をインストールすると、CUDA と cuDNN を一緒にインストールしてくれるので、それを活用しましょう STEP1 PyTorchのインストールコマンドを生成する さて、ようやくお膳立てができたので、いよいよ機械学習ライブラリ PyTorch を導入しましょう ■ PyTorchのインストール 以下にあるPyTorchのインストールガイドを開き、 https://pytorch.org/get-started/locally/ 以下のように選択式で Pytorch のインストールコマンドを生成することができます Category Selected Pytorch Build Stable (1.13.1) Your OS Linux Package Conda Language

By Qualiteg Boot Camp
TensorRT-LLM v 0.11.0.dev2024051400 の動作確認

日々の開発Tips

TensorRT-LLM v 0.11.0.dev2024051400 の動作確認

こんにちは、株式会社 Qualiteg プロダクト開発部です! TensorRT-LLM は FasterTransformerの後継ともいえるNVIDIA製 推論エンジンで、当社ChatStreamの推論エンジンとしても選択可能です。 vLLMと同じく新しいモデル対応が早く、既存モデルも豊富にサポートされています。 昨日 大型コミットが入りましたので動作確認をしました。(マルチモーダルモデルNeva,Kosmos2に対応など。) TensorRT-LLM のサポートしている、モデルアーキテクチャは以下のとおりです。 LLM Baichuan, BART, BERT, Blip2, BLOOM, ChatGLM, DBRX, FairSeq NMT, Falcon, Flan-T5, Gemma, GPT, GPT-J, GPT-Nemo, GPT-NeoX, InternLM, LLaMA, LLaMA-v2, Mamba, mBART, Mistral, MPT, mT5, OPT, Phi-1.5/Phi-2, Qwen, Qwen-VL, Replit

By Qualiteg プロダクト開発部
[AI新規事業創出]Qualitegが考える、アイディア創出の5つのステップとは

AI-Business

[AI新規事業創出]Qualitegが考える、アイディア創出の5つのステップとは

アイディア創出についての悩みを持つ多くのクライアントへ、アイディア創出のための5つのステップを解説します。初めに、アイディアを創出する目的を明確に設定し、それに基づいてアイディアを創造、深堀、サービス設計、ビジネスモデル設計、そして評価の順に進めます。このプロセスは、単にアイディアを出すだけでなく、実際に事業として成立するかを検証し、事業責任者との事前合意に基づく目的に沿ったアイディアを選定することを目指します。

By Join us, Michele on Qualiteg's adventure to innovation
【2024/5/14更新】LLM 推論 API 料金と推論速度

IT & AIテクノロジー

【2024/5/14更新】LLM 推論 API 料金と推論速度

LLM を API から利用するときに従量課金される料金と生成速度一覧まとめました。順次更新予定です。 【API 料金】 は 100万トークンあたりのアウトプット側 利用料を表示しています。 【生成速度】 は1秒間に何トークン生成できるかを示す " tokens/s"( tokens per second )で表示します。 (生成速度は入出力プロンプトの量・内容によって変動しますので、あくまで参考情報として表示しています) OpenAI GPT シリーズ * OpenAI GPTシリーズ * gpt-4o、100万トークンあたり $15.00 (約2250円)、 70 tokens/s * gpt-4-turbo-2024-04-09: 100万トークンあたり $30.00 (約4500円)、 45 tokens/s * gpt-3.5-turbo-0125: 100万トークンあたり $1.5

By Qualiteg プロダクト開発部, Qualiteg ビジネス開発本部 | マーケティング部
[AI数理]徹底的に交差エントロピー(6)

AI数理

[AI数理]徹底的に交差エントロピー(6)

おはようございます!(株) Qualiteg 研究部です。 今回は、二値分類用の交差エントロピーについてみていきましょう! 7章 二値分類用 交差エントロピー 7-1. 二値分類用 交差エントロピー (データ1件対応版) さて、ここから、二値分類用の交差エントロピーを導きたいとおもいます。 二値分類は 入力されたデータが 2 つのうちどちらか、を予測するものです。 まず話をシンプルにするために、バッチ版ではなく、式 \((5.2)\) に示した 1件版の交差エントロピーの式を思い出します。 $$ E = - \sum_{k=1}^{K} t_{k} \log y_{k} \tag{5.2、再掲} $$ $$ \begin{aligned} &K:分類の数, t_{k}

By Qualiteg 研究部
[ChatStream] 入出力プロンプトの予期せぬ変更に備え revision は固定する

日々の開発Tips

[ChatStream] 入出力プロンプトの予期せぬ変更に備え revision は固定する

こんにちは。(株) Qualiteg プロダクト開発部です。 GW中に、microsoft/Phi-3-mini-128k-instruct の tokenizer.json が変更になり、プロンプトのパースに失敗し、チャットのストリーミングができなくなる問題が発生しました。 実際には以下の変更がありました https://huggingface.co/microsoft/Phi-3-mini-128k-instruct/commit/8a362e755d2faf8cec2bf98850ce2216023d178a もともと、Miscrosoft さんが書いていた記事にあるプロンプトフォーマットと実際のモデルのプロンプトフォーマットが異なっていたため、当社では、実際のモデルにあわせるヒューリスティックな対応をしておりましたが、モデル(\w tokenizer) 側がもとの仕様に近い形に修正してきた模様です。 これによって、当初動作していたプロンプト変換器が動作しなくなるという現象が発生しました。 LLM は「スピードが命!」なので、トークナイザー含め完全にテストされた状態

By Qualiteg プロダクト開発部
[自作日記18] SW編: Anacondaのインストール

GPUマシン自作

[自作日記18] SW編: Anacondaのインストール

今回は、 Anaconda を導入します。 Python は一般的にアプリケーションごとに仮想環境を使用して実行しますが、仮想環境を構築できるものに Anaconda または Python純正仮想環境の venv のどちらかがよく使われます。 今回は、 Anaconda を導入してみたいとおもいます。 4.1 Anaconda(Python環境) のインストール STEP1 Anaconda3 をダウンロードする Chromeを開いて、以下を開きます https://www.anaconda.com/distribution/#download-section 自動的に Linux 用を表示してくれるので、それをダウンロードします STEP2 インストール用スクリプトを実行する cd downloads bash Anaconda3-2022.10-Linux-x86_64.sh エンターキーをおすrと、 license agreement をスクロールさせることができます 内容問題なければ yes とタイプします

By Qualiteg Boot Camp
WSL-Ubuntu で bitsandbytes のインストールに失敗するとき

日々の開発Tips

WSL-Ubuntu で bitsandbytes のインストールに失敗するとき

bitsandbytes を pip install しようとしたときに、以下のようなエラーがでたときの対処方法です Could not load bitsandbytes native library: libcusparse.so.11: cannot open shared object file: No such file or directory Traceback (most recent call last): File "/home/mlu/.virtualenvs/ChatStream/lib/python3.10/site-packages/bitsandbytes/cextension.py", line 109, in <module>

By Qualiteg プロダクト開発部
[AI新規事業創出] Qualitegオリジナル、効果的な顧客課題の比較方法とは

AI-Business

[AI新規事業創出] Qualitegオリジナル、効果的な顧客課題の比較方法とは

顧客課題の比較方法について、市場規模調査や自社とのシナジー、実現可能性の検討が重要です。各課題に対し市場の潜在性、自社の既存事業との関連性、技術やコストの面から評価し、最終的に調査結果を得点化して比較することで、参入すべき市場を明確にします。

By Join us, Michele on Qualiteg's adventure to innovation
LLM サービング効率化の為のPagedAttention

ChatStream Guide

LLM サービング効率化の為のPagedAttention

こんにちは、株式会社Qualitegプロダクト開発部です。 今日は 商用LLM サービングに欠かせない PagedAttention 技術をご紹介します はじめに PagedAttention は当社にとって非常に重要な技術です PagedAttentionを活用するとLLMでの文章生成において GPUメモリの利用効率をあげ 、そのぶん単位GPUあたりの同時に捌けるリクエストを増やすことができます。 当社は「ChatStream」という商用のLLMサービングプラットフォームを開発・提供しているため、多ユーザーからの同時リクエストによる高負荷環境でのLLMサービング(文章生成の提供)は、ドドド真ん中の課題ということになります。 PagedAttention登場以前の従来の並列生成はKVキャッシュとよばれる”リクエストごとに発生する大きなGPUメモリ消費”との戦いでした。 (KVキャッシュは transfomerのmodelを生で叩くときに past_key_values として登場します) つまりモデルのパラメータとは別に発生する推論時のメモリ消費です。 これが同時に

By Qualiteg プロダクト開発部
株式会社Qualiteg、NVIDIA Inceptionプログラムに採択

News

株式会社Qualiteg、NVIDIA Inceptionプログラムに採択

2024年4月25日、株式会社QualitegはNVIDIA Inceptionプログラムに採択されました。これにより、私たちは世界中の革新的なスタートアップとともに、先進技術の開発と普及に向けて新たな一歩を踏み出すこととなりました。 LLMサービス開発への期待 NVIDIA Inceptionプログラムに採用されたことで、当社は大規模言語モデル(LLM)サービスの開発事業者として、更なる飛躍が期待されております。 特に、NVIDIAが提供する高度なAIリソースとツールを活用することで、以下のような可能性が広がります。 1. 高性能なAIモデルの開発 NVIDIAのAI Foundation Modelsを利用することで、最先端のAIモデルを迅速に構築し、カスタマイズして展開することができます。これにより、業界をリードする革新的なソリューションの提供が可能となります。 2. エンジニアリングリソースの強化 NVIDIA Developer Programに参加することで、エンジニアは最新のツールやリソース、専門家によるサポートを受けることができま

By Tomonori Misawa / CEO