🚀 DanTagGen - beta
DanTagGen(Danbooruタグ生成器)は、p1atdevのDartプロジェクトにインスパイアされて開発されました。ただし、アーキテクチャ、データセット、フォーマット、トレーニング戦略は異なっています。
🚀 クイックスタート
DanTagGenは、Danbooruのタグを自動生成するためのモデルです。このモデルは、異なるバージョンで提供されており、それぞれのバージョンには独自の特徴があります。
✨ 主な機能
- 異なるアーキテクチャ、データセット、フォーマット、トレーニング戦略を持つ。
- 複数のバージョンがあり、それぞれのバージョンの性能が異なる。
- 与えられた情報が少ない場合でも、安定したタグ生成が可能。
📦 インストール
このリポジトリには、変換されたFP16 ggufモデルと量子化された8bit/6bit ggufモデルが提供されています。基本的には、llama.cpp
またはllama-cpp-python
を使用してこのモデルを実行することをおすすめします。これらのツールを使用すると、非常に高速にモデルを実行できます。
💻 使用例
基本的な使用法
prompt = f"""
rating: {rating or '<|empty|>'}
artist: {artist.strip() or '<|empty|>'}
characters: {characters.strip() or '<|empty|>'}
copyrights: {copyrights.strip() or '<|empty|>'}
aspect ratio: {f"{aspect_ratio:.1f}" or '<|empty|>'}
target: {'<|' + target + '|>' if target else '<|long|>'}
general: {", ".join(special_tags)}, {general.strip().strip(",")}<|input_end|>
"""
例えば、以下のような入力を与えることができます。
rating: safe
artist: <|empty|>
characters: <|empty|>
copyrights: <|empty|>
aspect ratio: 1.0
target: <|short|>
general: 1girl, solo, dragon girl, dragon horns, dragon tail<|input_end|>
そして、以下のような出力が得られるかもしれません。
rating: safe
artist: <|empty|>
characters: <|empty|>
copyrights: <|empty|>
aspect ratio: 1.0
target: <|short|>
general: 1girl, solo, dragon girl, dragon horns, dragon tail<|input_end|>open mouth, red eyes, long hair, pointy ears, tail, black hair, chinese clothes, simple background, dragon, hair between eyes, horns, china dress, dress, looking at viewer, breasts
高度な使用法
以下に、具体的な例を示します。
例1: Vivlos
ベースプロンプト:
1girl,
vivlos \(umamusume\), umamusume,
kxl-delta-style1,
swimsuit,
masterpiece, newest, absurdres, sensitive
|
DTGを使用しない場合 |
DTG-Alpha |
DTG-Beta |
プロンプト |
ベースプロンプト |
ベースプロンプト + "mole under eye, tail, twintails, open mouth, single ear cover, horse ears, breasts, looking at viewer, visor cap, streaked hair, long hair, horse tail, hair between eyes, cowboy shot, blue nails, purple eyes, covered navel, horse girl, competition swimsuit, blush, multicolored hair, collarbone, two-tone swimsuit, animal ears, mole, white hair, ear covers, smile, ear ornament, swimsuit, solo, blue eyes, brown hair, one-piece swimsuit, white headwear, medium breasts, white one-piece swimsuit, bare shoulders," |
ベースプロンプト + "blue bikini, tail, twintails, single ear cover, horse ears, striped clothes, ear piercing, cleavage, breasts, blue ribbon, looking at viewer, ribbon, streaked hair, long hair, horse tail, hair between eyes, :3, purple eyes, horse girl, blush, multicolored hair, hair ribbon, collarbone, bikini skirt, piercing, animal ears, striped bikini, sitting, white hair, ear covers, :d, smile, swimsuit, solo, brown hair, ocean, white headwear, medium breasts, bikini," |
結果画像 |
 |
 |
 |
性能 |
Vivlosを生成できない |
正しいキャラクターの特徴を持つ画像を生成できるが、詳細が不十分で、一部の特徴が間違っていたり欠けていたりする |
Alphaよりもはるかに良く、良いキャラクターの特徴を提供し、より多くの詳細と良い構図を提供する |
例2: Daring Tact
ベースプロンプト:
1girl,
daring tact \(umamusume\), umamusume,
kxl-delta-style1,
horse girl, horse tail, horse ears, cafe, table, chair,
masterpiece, newest, absurdres, safe
|
DTGを使用しない場合 |
DTG-Alpha |
DTG-Beta |
プロンプト |
ベースプロンプト |
ベースプロンプト + "plant, necktie, tail, indoors, skirt, looking at viewer, cup, lounge chair, green theme, book, alternate costume, potted plant, hair ornament, blue jacket, blush, medium hair, black necktie, green eyes, jacket, animal ears, black hair, round eyewear, bookshelf, adjusting eyewear, ahoge, smile, solo, window, brown hair, crossed legs, glasses, closed mouth, book stack," |
ベースプロンプト + "jacket, sitting on table, food, tail, collar, horse racing, black hair, boots, school bag, bag, full body, blue eyes, hair ornament, animal ears, ahoge, sitting, thighhighs, blurry background, looking at viewer, school uniform, long hair, blurry, cup, window, crossed legs, alternate costume, medium breasts, breasts, calendar (object), casual, door, solo, disposable cup," |
結果画像 |
 |
 |
 |
性能 |
|
より多くの要素と詳細を持つ画像を生成できるが、キャラクターとの整合性が良くない |
Alphaよりもはるかに良く、より多くの詳細と良い構図を提供する |
📚 ドキュメント
バージョン間の違い
- alpha: 200万件のデータセットで事前学習され、バッチサイズが小さい。能力が限られている。
- beta: 530万件のデータセットで事前学習され、バッチサイズが大きい。より安定しており、与えられた情報が少ない場合でも能力が高い。
モデルアーキテクチャ
このバージョンのDTGは、4億パラメータのLLaMAアーキテクチャでゼロからトレーニングされています。(個人的な好みで、これをNanoLLaMAと呼ぶことがあります)理論的には、任意のLLaMA推論インターフェースで使用できるはずです。
データセットとトレーニング
私は、HakuPhiで実装したトレーナーを使用してトレーニングを実行しました。530万件のデータで10エポックのトレーニングを行い、このモデルはおよそ60〜120億のトークンを見たことがあります。
データセットは、私のDanbooru SQLiteデータベースを使用してHakuBooruによってエクスポートされました。各レーティングのfav_countのパーセンタイルを使用してデータをフィルタリングしました。(200万件 = 上位25%、530万件 = 上位75%)
ユーティリティ
私は、このモデル用のGradio UIを実装しており、他の開発者はその中のAPIを利用して異なるアプリを作成することができます。また、sd-webui拡張機能も作成する予定です。
🔧 技術詳細
このバージョンのDTGは、400MパラメータのLLaMAアーキテクチャでゼロからトレーニングされています。理論的には、任意のLLaMA推論インターフェースで使用できます。
📄 ライセンス
このプロジェクトは、OpenRailライセンスの下で公開されています。
情報テーブル
| 属性 | 詳情 |
|------|------|
| モデルタイプ | テキスト生成 |
| トレーニングデータ | KBlueLeaf/danbooru2023-sqlite |