メインコンテンツへスキップ
見出し画像

【GGUF変換】llama.cppでGGUF変換する方法【ローカルLLM】

はじめに

【注意】支援者(メンバーシップ)向け記事になります。記事の量に対して少し割高の価格で設定していますのでご注意ください。※ 初月無料設定していますので、ご気軽にご参加ください。すべての有料記事が閲覧可能です。

下記事で紹介したLlama 3.1 Swallow 8B Instructが予想以上に高性能で使いやすいので、Swallow LLMモデルをGGUF変換した作業の記録を紹介します。

GGUFフォーマットとは

GGUF(GGML Universal Format)は、AIモデルを保存するための新しいファイルフォーマットで、LLMの場合はOpen WebUIやLM_STUDIO等で利用する事ができます。量子化の軽量モデルが利用できます。

つまり、HuggingFaceに公開されているモデルはHuggingFace形式なので、Open WebUIで利用するにはGGUF変換作業が必要になります。

量子化とは?

AIモデルの性能をあまり落とさずに軽量化する仕組みです。連続データをぶつ切り離散化する手法の一つです。JPEG画像やMPEG動画の量子化ように、品質を落とさずに軽量化する事ができます。※ ちなみに勘違いされやすいのですが、物理で利用される量子力学の量子化とは(離散化する事以外)関係ありません。全く別の技術用語です。


llama.cppとは?

オープンソースのソフトウェアライブラリで、元々はMeta社の大規模言語モデル(LLM)であるLLaMAやその派生モデルの推論を行うために設計されたものです。本体はC++で記述されているため、利用するにはC++コンパイラ(ビルド環境)が必要になります。

ここでは推論用途ではなく、

  • HuggingFaceモデル→GGUFフォーマット化の変換

  • 量子化して軽量化

のために利用します。


llama.cppの導入

Windowsはビルド環境の構築が大変なので、LinuxまたはWSL2環境での作業です。Python仮想環境にLinux版のAnacondaが利用可能な事を前提としています。CPU処理ですので、GPUは必要ありません。

 
 
3Dアート作品や3Dモデルデータも扱っています。最近は専らAIを利用した作品が多いです。 ※ BOOTHにて各種販売も行なっております。 https://lit.link/catappart3d

あなたへのおすすめ