[LLM] Hugging Face Hub

Hugging Face Hub は、LLM(大規模言語モデル)や画像モデルを扱う人が、モデル・データ・コードを共有したり、実験環境を一元管理できる「AIのGitHub」みたいな場所

### Hugging Face Hub
1. モデルを探す・使う
世界中の研究機関・企業・個人が公開したモデルが 10万以上ある

モデル 説明
LLaMA / Gemma / Mistral 最新のオープンLLM
Stable Diffusion 画像生成モデル
Whisper 音声→テキスト変換

from transformers import pipeline
qa = pipeline("question-answering", model="deepset/roberta-base-squad2")

2. 自分のモデルをアップロード・共有できる

huggingface-cli login
git clone https://huggingface.co/your-model-name

3. Spaces でWebアプリを作って公開できる
Web UIを簡単に作れるサービス。
Streamlit / Gradio が標準対応。

import gradio as gr
gr.ChatInterface(lambda msg: "You said: " + msg).launch()

4. ファインチューニングが簡単にできる
特に PEFT / LoRA と相性が良く、
巨大モデルでも VRAM 8〜16GB で微調整可能。

from peft import LoraConfig, get_peft_model

from datasets import load_dataset
ds = load_dataset("squad")

5. ベクトルDBやRAG基盤も提供している
機能 説明
Inference API モデルをクラウドで実行
Inference Endpoints 企業向けセキュア推論
Embeddings RAG用のベクトル埋め込み
Text-Generation-Inference (TGI) 高速推論サーバー

サービス 例えると できること
Hugging Face Hub GitHub モデル・データ・コード共有
Spaces Netlify / Heroku AIアプリを公開できる
Transformers フレームワーク LLMを1行で使える
PEFT / LoRA 学習技術 モデルを安くチューニング
Inference API GPUクラウド 推論をホスティング

「必要な部分だけ学習する技術」の総称が PEFT
PEFT とは?
PEFT = Parameter-Efficient Fine-Tuning

その中でも特に有名なのが LoRA
LoRA = Low-Rank Adaptation

from transformers import AutoModelForCausalLM, AutoTokenizer
from peft import LoraConfig, get_peft_model

model_name = "meta-llama/Llama-3-8b"
model = AutoModelForCausalLM.from_pretrained(model_name)
tokenizer = AutoTokenizer.from_pretrained(model_name)

config = LoraConfig(
    r=8,
    lora_alpha=32,
    target_modules=["q_proj","v_proj"],
)

model = get_peft_model(model, config)
model.print_trainable_parameters()

学習対象は全体ではなく数%に減る