Spaces:
Sleeping
Sleeping
File size: 8,934 Bytes
e885b12 b4ab683 e885b12 25c4843 b4ab683 e885b12 b4ab683 e885b12 b4ab683 e885b12 b4ab683 e885b12 b4ab683 e885b12 b4ab683 e885b12 b4ab683 e885b12 b4ab683 e885b12 b4ab683 e885b12 d62ede2 fc671fd e885b12 b4ab683 e885b12 b4ab683 e885b12 0af5c7b 5503b6a 0af5c7b 791b156 e885b12 791b156 e885b12 feedbc6 e885b12 392c1ec feedbc6 e885b12 043bac4 7c87e0a 4161346 25a425f 4161346 e885b12 d62ede2 e885b12 d62ede2 e885b12 791b156 fc671fd e885b12 5503b6a |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 |
---
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ライセンスの下で公開されています。 |