petals.ml(花瓣),一個開源的AI運作模式,通過BitTorrent點對點方式,生成協作網絡AI網絡,你可以隻加載部分模型,可以和其他線上算友一起協作運作AI模型進行本地模型的運作和微調,支援運作BLOOM-176B等大語言模型(LLM)。
基準測試資料顯示:使用petals可以達到單批次推理以每步 ≈ 1 秒的速度運作(token)— 比正常模型運作提高十倍10 倍 ,可以應對正常的聊天機器人和其他互動式應用程式。 如果使用并行推理可以實作每秒數百個token的s。
比經典語言模型API—— 可以采用任何微調和采樣方法,通過模型執行自定義路徑,或檢視其隐藏狀态。
可以通過PyTorch的靈活性獲得API的便利。
下面是一個示例:
from petals import DistributedBloomForCausalLM
model = DistributedBloomForCausalLM.from_pretrained("bigscience/bloom-petals", tuning_mode="ptune", pre_seq_len=16)
inputs = tokenizer("A cat sat", return_tensors="pt")["input_ids"]
outputs = model.generate(inputs, max_new_tokens=5)
print(tokenizer.decode(outputs[0])) # A cat sat on a mat...
# Fine-tuning (updates only prompts or adapters hosted locally)
optimizer = torch.optim.AdamW(model.parameters())
for input_ids, labels in data_loader:
outputs = model.forward(input_ids)
loss = cross_entropy(outputs.logits, labels)
optimizer.zero_grad()
loss.backward()
optimizer.step()
線上使用位址(google colab):網頁連結
github倉庫位址:github/bigscience-workshop/petals