Dart V2 Moe Sft
Dart v2是經過微調的Danbooru標籤生成模型,基於Mixtral架構,專門用於生成Danbooru風格的圖像標籤。
下載量 5,575
發布時間 : 5/6/2024
模型概述
該模型能夠根據輸入的提示生成符合Danbooru風格的圖像標籤,支持多種評級、寬高比和長度設置,適用於圖像標註和標籤生成任務。
模型特點
多參數控制
支持控制標籤的評級、寬高比、長度和身份保留程度等多種參數
Mixtral架構
基於高效的Mixtral架構,提供高質量的標籤生成能力
多種變體選擇
提供不同架構和規模的模型變體,滿足不同需求
模型能力
Danbooru標籤生成
圖像標籤自動生成
多參數標籤控制
使用案例
圖像標註
動漫圖像標籤生成
為動漫風格圖像生成詳細的Danbooru標籤
生成包含角色、服裝、表情等詳細描述的標籤
內容創作輔助
AI繪畫提示生成
為AI繪畫工具生成詳細的提示標籤
提供結構化、詳細的繪畫提示
🚀 Dart (Danbooru Tags Transformer) v2
Dart (Danbooru Tags Transformer) v2 是一個經過微調的模型,專門用於生成 Danbooru 標籤。它能根據輸入的相關信息,準確且高效地生成對應的標籤,為相關應用場景提供了有力支持。
Demo: 🤗 Space with ZERO
✨ 主要特性
模型變體
名稱 | 架構 | 參數規模 | 類型 |
---|---|---|---|
v2-moe-sft | Mixtral | 1.66 億 | 監督微調(SFT) |
v2-moe-base | Mixtral | 1.66 億 | 預訓練 |
v2-sft | Mistral | 1.14 億 | 監督微調(SFT) |
v2-base | Mistral | 1.14 億 | 預訓練 |
v2-vectors | 嵌入層 | - | 標籤嵌入 |
📦 安裝指南
使用 📦dartrs
庫
pip install -U dartrs
💻 使用示例
基礎用法
使用 🤗Transformers
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM
MODEL_NAME = "p1atdev/dart-v2-moe-sft"
tokenizer = AutoTokenizer.from_pretrained(MODEL_NAME)
model = AutoModelForCausalLM.from_pretrained(MODEL_NAME, torch_dtype=torch.bfloat16)
prompt = (
f"<|bos|>"
f"<copyright>vocaloid</copyright>"
f"<character>hatsune miku</character>"
f"<|rating:general|><|aspect_ratio:tall|><|length:long|>"
f"<general>1girl, cat ears<|identity:none|><|input_end|>"
)
inputs = tokenizer(prompt, return_tensors="pt").input_ids
with torch.no_grad():
outputs = model.generate(
inputs,
do_sample=True,
temperature=1.0,
top_p=1.0,
top_k=100,
max_new_tokens=128,
num_beams=1,
)
print(", ".join([tag for tag in tokenizer.batch_decode(outputs[0], skip_special_tokens=True) if tag.strip() != ""]))
# vocaloid, hatsune miku, 1girl, cat ears, closed mouth, detached sleeves, dress, expressionless, from behind, full body, green theme, hair ornament, hair ribbon, headphones, high heels, holding, holding microphone, long hair, microphone, monochrome, necktie, ribbon, short dress, shoulder tattoo, simple background, sleeveless, sleeveless dress, spot color, standing, tattoo, thighhighs, twintails, very long hair, white background
高級用法
使用 📦dartrs
庫
⚠️ 重要提示
這個庫目前還處於實驗階段,未來可能會有重大變更。
📦dartrs
是一個基於 🤗candle
後端的 Dart v2 模型推理庫。
from dartrs.dartrs import DartTokenizer
from dartrs.utils import get_generation_config
from dartrs.v2 import (
compose_prompt,
MixtralModel,
V2Model,
)
import time
import os
MODEL_NAME = "p1atdev/dart-v2-moe-sft"
model = MixtralModel.from_pretrained(MODEL_NAME)
tokenizer = DartTokenizer.from_pretrained(MODEL_NAME)
config = get_generation_config(
prompt=compose_prompt(
copyright="vocaloid",
character="hatsune miku",
rating="general", # sfw, general, sensitive, nsfw, questionable, explicit
aspect_ratio="tall", # ultra_wide, wide, square, tall, ultra_tall
length="medium", # very_short, short, medium, long, very_long
identity="none", # none, lax, strict
prompt="1girl, cat ears",
),
tokenizer=tokenizer,
)
start = time.time()
output = model.generate(config)
end = time.time()
print(output)
print(f"Time taken: {end - start:.2f}s")
# cowboy shot, detached sleeves, empty eyes, green eyes, green hair, green necktie, hair in own mouth, hair ornament, letterboxed, light frown, long hair, long sleeves, looking to the side, necktie, parted lips, shirt, sleeveless, sleeveless shirt, twintails, wing collar
# Time taken: 0.26s
📚 詳細文檔
提示格式
prompt = (
f"<|bos|>"
f"<copyright>{copyright_tags_here}</copyright>"
f"<character>{character_tags_here}</character>"
f"<|rating:general|><|aspect_ratio:tall|><|length:long|>"
f"<general>{general_tags_here}<|identity:none|><|input_end|>"
)
- 評級標籤:
<|rating:sfw|>
、<|rating:general|>
、<|rating:sensitive|>
、nsfw
、<|rating:questionable|>
、<|rating:explicit|>
sfw
:隨機生成general
或sensitive
評級類別的標籤。general
:生成general
評級類別的標籤。sensitive
:生成sensitive
評級類別的標籤。nsfw
:隨機生成questionable
或explicit
評級類別的標籤。questionable
:生成questionable
評級類別的標籤。explicit
:生成explicit
評級類別的標籤。
- 寬高比標籤:
<|aspect_ratio:ultra_wide|>
、<|aspect_ratio:wide|>
、<|aspect_ratio:square|>
、<|aspect_ratio:tall|>
、<|aspect_ratio:ultra_tall|>
ultra_wide
:生成適合極寬寬高比圖像(約 2:1)的標籤。wide
:生成適合寬寬高比圖像(2:1 - 9:8)的標籤。square
:生成適合正方形寬高比圖像(9:8 - 8:9)的標籤。tall
:生成適合高寬高比圖像(8:9 - 1:2)的標籤。ultra_tall
:生成適合極高寬高比圖像(1:2 及以上)的標籤。
- 長度標籤:
<|length:very_short|>
、<|length:short|>
、<|length:medium|>
、<|length:long|>
、<|length:very_long|>
very_short
:總共生成約 10 個標籤。short
:總共生成約 20 個標籤。medium
:總共生成約 30 個標籤。long
:總共生成約 40 個標籤。very_long
:總共生成 40 個以上的標籤。
- 身份標籤:
<|identity:none|>
、<|identity:lax|>
、<|identity:strict|>
- 此標籤指定了在生成標籤時,對所提供標籤中角色或主體身份的保留嚴格程度。
none
:當指定的通用標籤非常少的時候推薦使用。它會非常有創造性地生成標籤,但有時會忽略通用標籤的條件。lax
:如果您希望保留通用標籤中角色或主體的身份,推薦使用此標籤。它會盡量不生成與輸入通用標籤衝突的標籤。strict
:如果您強烈希望保留通用標籤中角色或主體的身份,推薦使用此標籤。它會比lax
更嚴格地避免生成與輸入通用標籤衝突的標籤,但創造性較差。如果您不喜歡strict
的結果,請嘗試lax
或none
。
模型詳情
模型描述
屬性 | 詳情 |
---|---|
開發者 | Plat |
模型類型 | 因果語言模型 |
語言(NLP) | Danbooru 標籤 |
許可證 | Apache-2.0 |
微調基礎模型 | dart-v2-moe-base |
演示 | 可在 🤗 Space 上查看 |
訓練詳情
訓練數據
該模型使用以下數據進行訓練:
- isek-ai/danbooru-tags-2024,版本為
202403-at20240423
:這是一個從 2005 年到 2024 年 3 月 31 日的 Danbooru 標籤數據集,大小為 700 萬。
訓練過程
TODO
預處理 [可選]
[需要更多信息]
訓練超參數
訓練過程中使用了以下超參數:
- 學習率:0.00025
- 訓練批次大小:1024
- 評估批次大小:256
- 隨機種子:42
- 梯度累積步數:2
- 總訓練批次大小:2048
- 優化器:Adam,β1 = 0.9,β2 = 0.999,ε = 1e-08
- 學習率調度器類型:餘弦
- 學習率調度器預熱步數:1000
- 訓練輪數:4
評估
目前尚未進行評估,需要進行評估。
模型架構和目標
該模型的架構是 Mixtral。詳細信息請參考 config.json。
計算基礎設施
硬件
大學實驗室的服務器,配備 8 塊 RTX A6000 顯卡。
軟件
- 數據集處理:🤗 Datasets
- 訓練:🤗 Transformers
- 監督微調:🤗 TRL
- 推理庫:📦 dartrs
- 後端:🤗 candle
相關項目
- dart-v1:Dart 模型的第一個版本。
- KBlueLeaf/DanTagGen:寬高比標籤的靈感來源於此項目。
- furusu/danbooru-tag-similarity:標籤聚類的想法及其訓練方法的靈感來源於此項目。
📄 許可證
本模型使用 Apache-2.0 許可證。
Phi 2 GGUF
其他
Phi-2是微軟開發的一個小型但強大的語言模型,具有27億參數,專注於高效推理和高質量文本生成。
大型語言模型 支持多種語言
P
TheBloke
41.5M
205
Roberta Large
MIT
基於掩碼語言建模目標預訓練的大型英語語言模型,採用改進的BERT訓練方法
大型語言模型 英語
R
FacebookAI
19.4M
212
Distilbert Base Uncased
Apache-2.0
DistilBERT是BERT基礎模型的蒸餾版本,在保持相近性能的同時更輕量高效,適用於序列分類、標記分類等自然語言處理任務。
大型語言模型 英語
D
distilbert
11.1M
669
Llama 3.1 8B Instruct GGUF
Meta Llama 3.1 8B Instruct 是一個多語言大語言模型,針對多語言對話用例進行了優化,在常見的行業基準測試中表現優異。
大型語言模型 英語
L
modularai
9.7M
4
Xlm Roberta Base
MIT
XLM-RoBERTa是基於100種語言的2.5TB過濾CommonCrawl數據預訓練的多語言模型,採用掩碼語言建模目標進行訓練。
大型語言模型 支持多種語言
X
FacebookAI
9.6M
664
Roberta Base
MIT
基於Transformer架構的英語預訓練模型,通過掩碼語言建模目標在海量文本上訓練,支持文本特徵提取和下游任務微調
大型語言模型 英語
R
FacebookAI
9.3M
488
Opt 125m
其他
OPT是由Meta AI發佈的開放預訓練Transformer語言模型套件,參數量從1.25億到1750億,旨在對標GPT-3系列性能,同時促進大規模語言模型的開放研究。
大型語言模型 英語
O
facebook
6.3M
198
1
基於transformers庫的預訓練模型,適用於多種NLP任務
大型語言模型
Transformers

1
unslothai
6.2M
1
Llama 3.1 8B Instruct
Llama 3.1是Meta推出的多語言大語言模型系列,包含8B、70B和405B參數規模,支持8種語言和代碼生成,優化了多語言對話場景。
大型語言模型
Transformers 支持多種語言

L
meta-llama
5.7M
3,898
T5 Base
Apache-2.0
T5基礎版是由Google開發的文本到文本轉換Transformer模型,參數規模2.2億,支持多語言NLP任務。
大型語言模型 支持多種語言
T
google-t5
5.4M
702
精選推薦AI模型
Llama 3 Typhoon V1.5x 8b Instruct
專為泰語設計的80億參數指令模型,性能媲美GPT-3.5-turbo,優化了應用場景、檢索增強生成、受限生成和推理任務
大型語言模型
Transformers 支持多種語言

L
scb10x
3,269
16
Cadet Tiny
Openrail
Cadet-Tiny是一個基於SODA數據集訓練的超小型對話模型,專為邊緣設備推理設計,體積僅為Cosmo-3B模型的2%左右。
對話系統
Transformers 英語

C
ToddGoldfarb
2,691
6
Roberta Base Chinese Extractive Qa
基於RoBERTa架構的中文抽取式問答模型,適用於從給定文本中提取答案的任務。
問答系統 中文
R
uer
2,694
98