iris-s-coon
📝 [docs] リリース後のREADME更新 (v0.7.0)
d62ede2
---
title: Llama-finetune-sandbox
emoji: 🦙
colorFrom: blue
colorTo: purple
sdk: streamlit
sdk_version: 1.39.0
app_file: app.py
pinned: false
license: mit
---
<p align="center">
<img src="https://raw.githubusercontent.com/Sunwood-ai-labs/Llama-finetune-sandbox/refs/heads/main/docs/Llama-finetune-sandbox.png" width="100%">
<h1 align="center">🌟 Llama-finetune-sandbox 🌟</h1>
</p>
<p align="center">
<a href="https://github.com/Sunwood-ai-labs/Llama-finetune-sandbox">
<img alt="GitHub Repo" src="https://img.shields.io/badge/github-Llama--finetune--sandbox-blue?logo=github">
</a>
<a href="https://github.com/Sunwood-ai-labs/Llama-finetune-sandbox/blob/main/LICENSE">
<img alt="License" src="https://img.shields.io/github/license/Sunwood-ai-labs/Llama-finetune-sandbox?color=green">
</a>
<a href="https://github.com/Sunwood-ai-labs/Llama-finetune-sandbox/stargazers">
<img alt="GitHub stars" src="https://img.shields.io/github/stars/Sunwood-ai-labs/Llama-finetune-sandbox?style=social">
</a>
<a href="https://github.com/Sunwood-ai-labs/Llama-finetune-sandbox/releases">
<img alt="GitHub release" src="https://img.shields.io/github/v/release/Sunwood-ai-labs/Llama-finetune-sandbox?include_prereleases&style=flat-square">
</a>
</p>
<h2 align="center">
~ Llamaモデルのファインチューニング実験環境 ~
</h2>
<p align="center">
<img src="https://img.shields.io/badge/Python-3.8%2B-blue?style=for-the-badge&logo=python" alt="Python">
<img src="https://img.shields.io/badge/PyTorch-2.0%2B-red?style=for-the-badge&logo=pytorch" alt="PyTorch">
<img src="https://img.shields.io/badge/HuggingFace-yellow?style=for-the-badge&logo=huggingface" alt="HuggingFace">
<img src="https://img.shields.io/badge/Docker-blue?style=for-the-badge&logo=docker" alt="Docker">
<img src="https://img.shields.io/badge/CUDA-11.7%2B-green?style=for-the-badge&logo=nvidia" alt="CUDA">
</p>
## 🚀 プロジェクト概要
**Llama-finetune-sandbox**は、Llamaモデルのファインチューニングを実験的に学習・検証できる環境です。様々なファインチューニング手法を試し、モデルのカスタマイズや性能評価を行うことができます。初学者から研究者まで、幅広いユーザーのニーズに対応します。バージョン0.7.0では、ドキュメントの更新と、Unslothを用いた高速推論実装ガイドの追加を行いました。
## ✨ 主な機能
1. **多様なファインチューニング手法**:
- LoRA (Low-Rank Adaptation)
- QLoRA (Quantized LoRA)
2. **柔軟なモデル設定**:
- カスタム可能な最大シーケンス長
- 多様な量子化オプション
- 複数のアテンションメカニズム
3. **実験環境の整備**:
- メモリ使用量の最適化
- 実験結果の可視化
4. **コンテキストアウェアリフレクティブQA生成システム**:
- Wikipediaデータから高品質なQ&Aデータセットを生成します。
- LLMを活用し、文脈を考慮した質問と回答の生成、品質評価、段階的な改善を自動で行います。
- 事実性、質問の質、回答の完全性を数値化して評価し、段階的に改善を行うリフレクティブなアプローチを採用しています。
- 環境構築、モデル選択、データ前処理、Q&Aペア生成、品質評価、改善プロセスを網羅したコードと解説を提供しています。
- `litellm`, `wikipedia`, `transformers`などのライブラリを使用しています。
- 出力されたQ&AペアはJSON形式で保存され、Hugging Face Hubへのアップロードも容易に行えます。
5. **LLM評価システム**:
- LLMの回答品質を自動的に評価するシステムです。
- 質問、模範解答、LLMの回答を4段階で評価し、詳細な評価レポートを生成します。
- エラーハンドリング、リトライ機能、ログ機能、カスタマイズ可能な評価基準、CSVとHTML形式でのレポート生成機能を備えています。
- HuggingFace Hubへのアップロード機能も備えています。
## 🔧 使用方法
本リポジトリ内のノートブックを参照してください。
## 📦 インストール手順
`requirements.txt`を参照し、必要なパッケージをインストールしてください。
## 📚 実装例
本リポジトリには以下の実装例が含まれています:
### Unslothを使用した高速ファインチューニング
- Llama-3.2-1B/3Bモデルの高速ファインチューニング実装
- → 詳細は [`Llama_3_2_1B+3B_Conversational_+_2x_faster_finetuning_JP.md`](sandbox/Llama_3_2_1B+3B_Conversational_+_2x_faster_finetuning_JP.md) をご参照ください。
- → [マークダウン形式からノートブック形式への変換はこちらを使用してください](https://huggingface.co/spaces/MakiAi/JupytextWebUI)
- [📒ノートブックはこちら](https://colab.research.google.com/drive/1AjtWF2vOEwzIoCMmlQfSTYCVgy4Y78Wi?usp=sharing)
### Unslothを使用した高速推論
- Llama-3.2モデルの高速推論実装
- → 詳細は [`Unsloth_inference_llama3-2.md`](sandbox/Unsloth_inference_llama3-2.md) をご参照ください。
- → Unslothを使用したLlama-3.2モデルの効率的な推論処理の実装
- [📒ノートブックはこちら](https://colab.research.google.com/drive/1FkAYiX2fbGPTRUopYw39Qt5UE2tWJRpa?usp=sharing)
- LLM-JPモデルの高速推論実装
- → 詳細は [`Unsloth_inference_llm_jp.md`](sandbox/Unsloth_inference_llm_jp.md) をご参照ください。
- → 日本語LLMの高速推論処理の実装とパフォーマンス最適化
- [📒ノートブックはこちら](https://colab.research.google.com/drive/1lbMKv7NzXQ1ynCg7DGQ6PcCFPK-zlSEG?usp=sharing)
### OllamaとLiteLLMを使用した効率的なモデル運用
- Google Colabでのセットアップと運用ガイド
- → 詳細は [`efficient-ollama-colab-setup-with-litellm-guide.md`](sandbox/efficient-ollama-colab-setup-with-litellm-guide.md) をご参照ください。
- [📒ノートブックはこちら](https://colab.research.google.com/drive/1buTPds1Go1NbZOLlpG94VG22GyK-F4GW?usp=sharing)
### WikipediaデータからのQ&Aデータセット生成(センテンスプールQA方式)
- センテンスプールQA方式による高品質Q&Aデータセット生成
- → 句点区切りの文をプールして文脈を保持しながらQ&Aペアを生成する新しいデータセット作成手法
- → チャンクサイズを柔軟に調整可能(デフォルト200文字)で、用途に応じた最適な文脈範囲でQ&Aペアを生成
- → 詳細は [`wikipedia-qa-dataset-generator.md`](sandbox/wikipedia-qa-dataset-generator.md) をご参照ください。
- [📒ノートブックはこちら](https://colab.research.google.com/drive/1mmK5vxUzjk3lI6OnEPrQqyjSzqsEoXpk?usp=sharing)
### コンテキストアウェアリフレクティブQA生成システム
- リフレクティブな品質改善を行うQ&Aデータセット生成
- → 生成したQ&Aペアの品質を自動評価し、段階的に改善を行う新方式
- → 事実性、質問品質、回答の完全性を数値化して評価
- → 文脈情報を活用した高精度な質問生成と回答の整合性チェック
- → 詳細は [`context_aware_Reflexive_qa_generator_V2.md`](sandbox/context_aware_Reflexive_qa_generator_V2.md) をご参照ください。
- [📒ノートブックはこちら](https://colab.research.google.com/drive/1OYdgAuXHbl-0LUJgkLl_VqknaAEmAm0S?usp=sharing)
### LLM評価システム (LLMs as a Judge)
- LLMを評価者として活用する高度な品質評価システム
- → 質問、模範解答、LLMの回答を4段階スケールで自動評価
- → エラーハンドリングとリトライ機能による堅牢な設計
- → CSV、HTML形式での詳細な評価レポート生成
- → 詳細は [`LLMs_as_a_Judge_TOHO_V2.md`](sandbox/LLMs_as_a_Judge_TOHO_V2.md) をご参照ください。
- [📒ノートブックはこちら](https://colab.research.google.com/drive/1Zjw3sOMa2v5RFD8dFfxMZ4NDGFoQOL7s?usp=sharing)
## 🆕 最新情報 (v0.7.0)
- **Unslothを用いた高速推論実装ガイドの追加**: Llama-3.2モデルとLLM-JPモデルの高速推論実装に関する情報、各モデルの使用方法、Colabノートブックへのリンクを追加しました。
- ドキュメントの更新
## 🤝 コントリビューション
- 新しいファインチューニング手法の実装
- バグ修正や機能改善
- ドキュメントの改善
- 使用例の追加
## 📄 ライセンス
このプロジェクトはMITライセンスの下で公開されています。