見出し画像

文章生成AI「chatux-server-llm」(CSLLM)のご紹介

こんにちは。
今回は、そときせひろが開発している「chatux-server-llm」(CSLLM)という文章生成AIについて、簡単にご紹介したいと思います。
CSLLMは、文章生成AIをWebサーバー上で動かすことができるプログラムです。文章生成AIとは、与えられたキーワードや文脈に基づいて、自然な文章を生成する人工知能のことです。

CSLLMの特徴は、以下の通りです。

・CPUだけで動作(高価なGPUは不要)
・AIエンジンとしてCTransrate2、WebサーバーとしてFastAPIを採用し、小型・軽量・高速化を達成。
・LINE社様のオープンな言語モデルを採用。(他社様の言語モデルも利用可能)
・ソースコードはPythonを採用。本体コードは約150行のため文章生成AIの入門用としても利用可能。
・MITライセンス採用のため改造・組込みも自由。

CSLLMは、大きく分けて二つの部分からなります。一つ目は、AIエンジンとしてCTransrate2を使っています。CTransrate2は、Transformerという深層学習モデルをベースにC/C++で再実装したAIです。Transformerは、自然言語処理(NLP)という分野で広く使われているモデルで、文脈や意味を考慮しながら文章を生成することができます。CTransrate2は、Transformerを改良したモデルで、より高速に動作することが特徴です。CTransrate2は、CPUだけでもGPU並みの速度で文章を生成することができます。これは、内部的には低精度演算(FP16)や量子化(INT8)という技術を使っています。これらの技術は、計算量を減らすことで高速化を実現しますが、精度や品質に影響しないように工夫されています。

二つ目は、Webサーバーとしてchatux(FastAPI)を使っています。FastAPIは、Pythonで書かれた高速なWebフレームワークです。FastAPIは、非同期処理や型ヒントという機能を使っています。非同期処理とは、一つの処理が終わるのを待たずに次の処理を行うことで並列化を実現する技術です。型ヒントとは、変数や関数に型(文字列や数値など)を明示することでエラーを防ぐ技術です。FastAPIは、これらの機能を使って高速かつ安全にWebサーバーを構築することができます。

CSLLMでは、CTransrate2とFastAPIを組み合わせています。具体的には、Webサーバーからキーワードや文脈などの入力を受け取り、CTransrate2に渡して文章を生成します。そして、生成した文章をWebサーバーから出力します。この一連の流れは非同期処理で行われるため、複数のリクエストにも対応することができます。

以上が、CSLLMの概要です。CSLLMは、文章生成AIを簡単に使えるようにしたプログラムです。CPUだけで高速に動作し、小型・軽量・高速化を実現しています。また、オープンな言語モデルやMITライセンスを採用しているため、自由に改造・組込みすることができます。またCSLLMは、本体がわずか150行ほどのPythonコードのため、文章生成AIの入門用としても利用可能です。
CSLLMは現在、Linux及びWindows11で動作確認できています。ソースコードはGitHubで公開されていますので、興味のある方は、ぜひ試してみてください。

※この記事はBing(ChatGTP)で一度生成したものを、そときせひろが添削したものです。よろしくお願いいたします。

この記事が参加している募集

やってみた

この記事が気に入ったらサポートをしてみませんか?