概要

自分の興味ある分野について、調べたり、実際に手を動かしたり、分かったことをここにまとめている。

LlamaIndexを使ってRAGを試す

モチベーション

Chatbot UIを試したこの投稿で、今後挑戦したいことの一つにRAG(Retrieval Augmented Generation)との連携と述べた。この投稿ではLlamaIndexを使ってRAGを実現する方法についてまとめた。

実は昨年末にLangchainを使ってRAGを試してみた。その後、LlamaIndexとのキーワードを良く聞いてきたので、今回LlamaIndexを使ってRAGを実現することにした。

[続きを読む]

Chatbot UIを試す

はじめに

先日の投稿では、llama-cpp-pythonを使ってローカル環境でELYZA 7Bモデルを動かした。その投稿で「今後について」ChatGPTのように会話できるシステムの構築に挑戦したいと述べた。

今回、ChatGPTのように会話できるシステムをdockerコンテナで構築したので、その内容をここにまとめる。

[続きを読む]

Elyzaモデルをllama-cpp-pythonを使ってGPUで動かす

モチベーション

LLMを手元のワークステーション(GPUのメモリ12〜16GB)で動かすには量子化が必須となる。この投稿では、llama-cpp-pythonを使って、GPU資源を最大限に活用することに挑戦したので、その内容をまとめる。

自分の理解不足のためハマったところもあるので、自分が失敗した箇所も含めた内容となっている。

[続きを読む]

姫野ベンチマークを使ってOpenMPIの性能を再々測定する

はじめに

OpenMPI実行ノードの順番を決めるhostfileを変更して、姫野ベンチマークでOpenMPIの性能を再測定したことを、この記事として投稿した。投稿後、改めて考えてみて、CPU、クロックの性能から自分が判断するのではなく、客観的な数値で判断することにした。

そこで今回、個々のワークステーション(ノード)の性能を測定し、その結果に従ってhostfileの順序を決め、再々測定することにした。

[続きを読む]

3次元磁気流体シミュレーションと並列計算 〜 Athena++チュートリアル4

はじめに

先月投稿したこの記事までで、OpenMPIをDockerコンテナに組み込み、マルチノードで並列計算できることは確認できた。この投稿では、上記で作成したDockerコンテナを使って、Athena++のチュートリアル4「3次元磁気流体シミュレーションと並列計算」をマルチノードで実行させる。

[続きを読む]

姫野ベンチマークを使ってOpenMPIの性能を測定する

モチベーション

昨日のこの投稿の通り、複数ノード上で動作しているDockerコンテナでOpenMPIを使ったプログラムを動かせるようになった。OpenMPIによってどのぐらい性能が向上するのかを調べたくなったので、ベンチマークすることにした。 実は、今回も少し苦労した点があり、その部分が他の方の参考になれば嬉しい。

[続きを読む]