🚀 Home 3B v3
「Home」モデルは、Stability AIのStableLM - 3B - Zephyrモデルをファインチューニングしたものです。このモデルは、ユーザーの家のデバイスを制御することができるだけでなく、基本的な質問応答も行うことができます。ファインチューニングに使用されるデータセットは、カスタム作成されたデータセットで、モデルに関数呼び出しを学習させるように設計されています。
モデルのV3では、新しいベースモデル(StableLM)が導入され、精度が大幅に向上しています。また、基本的なマルチパーソナリティサポート、基本的なマルチ言語サポート、さらに多くのHome Assitantエンティティタイプ(掃除ロボット、タイマー、TODO)のサポートが追加されています。
注意: ベースモデルはマルチ言語サポートを謳っていませんが、Phi - 2よりも非英語を扱いやすいトークナイザーを使用しています。Google翻訳で英語のリクエストを処理したランダムな例で、ドイツ語、スペイン語、フランス語で技術的に動作することを確認しています。
このモデルは、Lama.cppを使用して量子化されており、Rapsberry PiのようなHome Assistantインストールで一般的な超低リソース環境でもモデルを実行できるようになっています。
このモデルは、Zephyrプロンプト形式を使用して「instruct」タイプのモデルとして使用できます。システムプロンプトは、利用可能なデバイスや呼び出し可能なサービスを含むHome Assistantインストールの状態に関する情報を提供するために使用されます。
🚀 クイックスタート
モデルは、Zephyrプロンプト形式を使用して「instruct」タイプのモデルとして使用できます。システムプロンプトを使用して、Home Assistantインストールの状態に関する情報を提供します。
システムプロンプトの例:
You are 'Al', a helpful AI Assistant that controls the devices in a house. Complete the following task as instructed with the information provided only.
Services: light.turn_off(), light.turn_on(brightness,rgb_color), fan.turn_on(), fan.turn_off()
Devices:
light.office 'Office Light' = on;80%
fan.office 'Office fan' = off
light.kitchen 'Kitchen Light' = on;80%;red
light.bedroom 'Bedroom Light' = off
モデルからの出力は、ユーザーに返信する応答と、オプションで異なるHome Assistant「サービス」を呼び出すコードブロックで構成されます。関数呼び出しのためのモデルからの出力形式は以下の通りです。
turning on the kitchen lights for you now
```homeassistant
{ "service": "light.turn_on", "target_device": "light.kitchen" }
また、モデルはベースモデルの命令ファインチューニングにより、基本的な命令と質問応答タスクも実行できます。例えば、以下のような基本的な論理タスクを実行できます。
user if mary is 7 years old, and I am 3 years older than her. how old am I?
assistant If Mary is 7 years old, then you are 10 years old (7+3=10).
### ✨ 主な機能
- ユーザーの家のデバイスを制御することができます。
- 基本的な質問応答を行うことができます。
- 基本的なマルチパーソナリティサポートがあります。
- 基本的なマルチ言語サポート(英語、ドイツ語、スペイン語、フランス語)があります。
- 多くのHome Assitantエンティティタイプ(掃除ロボット、タイマー、TODO)をサポートしています。
### 🔧 技術詳細
#### トレーニング
モデルは、RTX 3090(24GB)でLoRAとしてトレーニングされました。LoRAのランクは64、アルファは128で、`up_proj,down_proj,q_proj,v_proj,o_proj`モジュールを対象としています。最後に、完全なモデルがマージされます。
#### 評価
このモデルは、テストデータセットでJSON関数呼び出しの精度が97.11%となっています。
### 📦 データセット
Snythetic Dataset for SFT - https://huggingface.co/datasets/acon96/Home-Assistant-Requests
### 📄 ライセンス
このモデルは、Stability AIのStableLMモデルシリーズをファインチューニングしたもので、STABILITY AI NON - COMMERCIAL RESEARCH COMMUNITY LICENSE AGREEMENTの下でライセンスされています。したがって、このモデルも同じ非商用のSTABILITY AI NON - COMMERCIAL RESEARCH COMMUNITY LICENSE AGREEMENTの下でリリースされています。ファインチューニングされたモデルは、非商用利用のみを目的として共有されています。
### 情報テーブル
```markdown
| プロパティ | 詳細 |
|----------|---------|
| データセット | acon96/Home-Assistant-Requests |
| ライセンス | other |
| ライセンスリンク | https://huggingface.co/acon96/Home-3B-v3-GGUF/raw/main/LICENSE |
| 言語 | 英語、ドイツ語、スペイン語、フランス語 |
| タグ | 自動化、ホーム、アシスタント |
| パイプラインタグ | テキスト生成 |