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

TensorRT-LLM v 0.11.0.dev2024051400 の動作確認
Photo by Timur Garifov / Unsplash

こんにちは、株式会社 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 Code, RoBERTa, SantaCoder, Skywork, Smaug, StarCoder, T5, Whisper

マルチモーダル

BLIP2 w/ OPT-2.7B, BLIP2 w/ T5-XL, CogVLM, Deplot, Fuyu, Kosmos-2, LLaVA-v1.5-7B, NeVA, Nougat family Nougat-small, Nougat-base, VILA

動作確認

安定した推論環境提供のため常に TensorRT-LLM 最新ビルドの動確をしております。今回も専用 Docker コンテナを使用して最新版の動確をしました。

今日はまず手動確認をしてみましたので、ご紹介します

TensorRT-LLMコンテナ起動。
モデルファイル等は ホストUbuntu /home/mlu/TensorRT-LLM 側に配置されている前提。

docker run --rm -it --ipc=host --ulimit memlock=-1 --ulimit stack=67108864  \
                --gpus=all \
                --volume /home/mlu/TensorRT-LLM:/code/tensorrt_llm \
                --env "CCACHE_DIR=/code/tensorrt_llm/cpp/.ccache" \
                --env "CCACHE_BASEDIR=/code/tensorrt_llm" \
                --workdir /app/tensorrt_llm \
                --hostname LLM-Inf-Dev-release \
                --name tensorrt_llm-release-mlu \
                --tmpfs /tmp:exec \
                tensorrt_llm_qs_ready

TensorRT-LLM のクイックスタートでおなじみ llama2-chat サンプルディレクトリに移動

cd /code/tensorrt_llm/examples/llama/

推論実行
浅草のオススメスポットをきいてみましょう。

python3 ../run.py --engine_dir ./llama-2-7b-engine  \
--max_output_len 1024 \
--tokenizer_dir ./meta-llama/Llama-2-7b-chat-hf \
--input_text "What are the recommended tourist spots in Asakusa?"

実行結果は以下動画にて。


(株)QualitegのChatStreamは 推論エンジンとして Classic Transformer,vLLM,DeepSpeed,TensorRT-LLM をサポートしております。

高速LLMサービング、省GPUメモリ、分散推論、量子化の要求に応じて最適な推論エンジンを選択することができます。

LLMの推論環境、サービングに関するお悩み、ご相談くださいませ

Read more

Raspberry Pi 5のWebサーバーをインターネットに公開する。ポートは開けない、WireCanalのトンネルで

Raspberry Pi 5のWebサーバーをインターネットに公開する。ポートは開けない、WireCanalのトンネルで

受信ポートを閉じたまま、Raspberry Pi 5のWebサーバーをインターネットに公開します。WireCanalのAgentをワンライナーで入れ、canalを作り、systemdで常駐化。ポート開放もルーター設定も不要で、操作はおよそ5分。再起動後の自動復活まで実測で検収しました。

By Qualiteg プロダクト開発部
Raspberry Pi 5を堅牢化する。SSH鍵認証・UFW・fail2banと、再起動でIPv6が復活する罠

Raspberry Pi 5を堅牢化する。SSH鍵認証・UFW・fail2banと、再起動でIPv6が復活する罠

セットアップ直後のRaspberry Pi 5は、パスワード認証が有効なまま、ファイアウォールなし、更新可能なパッケージ172件と無防備です。SSHの鍵認証化・UFW・fail2ban・自動更新・IPv6無効化を実コマンドと実測検収で解説します。sysctlのIPv6無効化が再起動で復活する現象と恒久対策も実機で確認しました。

By Qualiteg プロダクト開発部
LINE Botをローカルで開発する。WebhookのURLが毎回変わる問題を固定URLで解決する

LINE Botをローカルで開発する。WebhookのURLが毎回変わる問題を固定URLで解決する

こんにちは! LINE Botを作ろうとして最初にぶつかる壁は、コードではなくWebhookです。 LINEのMessaging APIは、ユーザーがBotに送ったメッセージを、LINEのサーバーからこちらのサーバーへHTTPSのPOSTで通知してきます。 この受け口(Webhook URL)にはインターネットから届くHTTPSのURLしか指定できず、開発中の http://localhost:5000 をそのまま書くことはできません。 トンネルツールで一時URLを発行して回避する方法が定番ですが、今度は別の問題が待っています。トンネルの方式によっては、起動のたびにランダムなURLが発行されます。その場合、開発を再開するたびにLINE Developersコンソールを開いてWebhook URLを書き換えることになります。コードを直すたび、翌日再開するたび、まずURLの貼り直しから。これが地味に堪えます。 結論から言うと、 ローカルPCの開発サーバーに「変わらない公開URL」を1本付けてしまえば、Webhook URLの設定は最初の1回だけで終わります。 この記事では、L

By Qualiteg プロダクト開発部