[LLM] Hugging Face で出来ること

Hugging Face は オープンソースLLMのプラットフォーム & コミュニティ
世界中のAIモデル・データセット・サンプルコードが集まるGitHub+App Store+AI研究コミュニティ

## Hugging Faceで何が出来る?
🤖 モデルHub Llama・Mistral・Gemma など数万のLLMをダウンロードして試せる
📚 データセットHub 研究用の巨大データセットが公開されていて利用可能
🚀 Transformers ライブラリ Python でLLMを簡単に使える神ライブラリ
🧪 Inference API / Endpoints GPUいらずでモデルをAPIとして利用できる
🧱 PEFT / LoRA サポート 軽量ファインチューニングが簡単
📊 Spaces(デモアプリ) Streamlit / Gradio でAIアプリをホスティング
🫂 AIコミュニティ モデル公開や議論・PRが活発で世界最大級

① Model Hub
世界中のLLMがここに集まっています。

例:
meta-llama/Llama-3.1-8B
mistralai/Mistral-7B
google/gemma-2-9b
EleutherAI/gpt-j-6b
GitHubと同じように、モデルごとにページがあり

説明
推奨ハイパーパラメータ
サンプルコード
重み(weights)
が公開されています。
→ とりあえず Hugging Face の中心はコレ と覚えればOK。

e.g.
https://huggingface.co/meta-llama/Llama-3.1-8B

### Transformer library

from transformers import AutoModelForCausalLM, AutoTokenizer

model = AutoModelForCausalLM.from_pretrained("mistralai/Mistral-7B-Instruct")
tokenizer = AutoTokenizer.from_pretrained("mistralai/Mistral-7B-Instruct")

inputs = tokenizer("こんにちは!自己紹介してください。", return_tensors="pt")
outputs = model.generate(**inputs, max_length=100)

print(tokenizer.decode(outputs[0], skip_special_tokens=True))

### Space(AIアプリ)
Gradio や Streamlit を使って、ブラウザで動くデモアプリを無料で公開できるサービス。

Mistral (ミストラル)
Mistralは、フランスのAIスタートアップ企業Mistral AIによって開発されているLLMのシリーズです。
開発元: Mistral AI (フランス)
主な特徴:
オープンソース/オープンウェイト: 多くのモデルがオープンソースまたはオープンウェイト(モデルの重み/パラメータが公開されている)で提供されており、研究者や開発者が自由に利用、改変、再配布しやすいのが大きな特徴です。

### Gradio、Streamlit
GradioとStreamlitは、どちらもPythonのコードのみで、機械学習モデルのデモやデータ分析のためのインタラクティブなWebアプリケーションを簡単に作成するためのライブラリ(フレームワーク)です。

Hugging Faceは、特にGradioの開発元を傘下に収めており、そのプラットフォーム「Hugging Face Spaces」でGradioとStreamlitのアプリケーションをホスティング(公開)できるようにしています。