モノづくり塾でAIの学習をするために、ある程度は学習者の敷居を下げたいと思います。
塾に学習用のコンピューターを置きますが、これだって高価なGPUを搭載するわけにもいかず制限があります。塾のサーバーにもGPUを載せようと思っていますが、そこにもそんなに高額な投資ができません。
そこで考えたのがGPUを使わずにCPUだけで言語モデルを扱うこと。以前もC、C++からPythonバインディングしたLlamaCppというのを使ったことがあって、それと似たようなものが他にないか探したいて見つけました。
Rustで扱えるRustformerというもの。
これを利用して大規模言語モデルを扱うためのサンプルプログラムを書こうと試行錯誤しています。
エラーの連続でなかなか前に進みませんが何とかやり遂げたいと思います。
Rustで書かれた言語モデルを使って文章生成をするAPIサーバーを作ってしまえば、フロントエンドのWebアプリケーションからそのAPIを呼び出して文書生成ができます。
フロントエンドは簡単にUIを作れるStreamlitなどを使うと良いかもしれません。
これからのソフトウェアエンジニアを目指すなら、C、C++、Javaなどの歴史あるコンパイル型の言語だけでなく、PythonやJavaScript (TypeScript)などのインタープリター型言語や急速に利用者が増えているRustなどを学ぶのが必須かなと思います。特に性能と信頼性に優れたRustは今後標準言語になると思っています。