Nhiệm vụ và đánh giá của pipeline

Mô hình đa phương thức với Hugging Face

James Chapman

Curriculum Manager, DataCamp

Pipelines vs. thành phần mô hình

Cách tiếp cận hiện tại

from transformers import BlipProcessor, BlipForConditionalGeneration
checkpoint = "Salesforce/blip-image-captioning-base"
processor = BlipProcessor.from_pretrained(checkpoint)
model = BlipForConditionalGeneration.from_pretrained(checkpoint)

Pipelines

from transformers import pipeline
pipe = pipeline("image-to-text", model=checkpoint)
Mô hình đa phương thức với Hugging Face

So sánh ví dụ

Dùng trực tiếp tiền xử lý và mô hình

inputs = processor(images=image, 
                   return_tensors="pt")
gen = model.generate(**inputs)
processor.decode(gen[0])

Pipeline

pipe(image)
[{'generated_text': 
'a man wearing a black shirt'}]

datapoint5

Mô hình đa phương thức với Hugging Face

Tìm mô hình và nhiệm vụ

Tìm mô hình cho một pipeline qua API:

from huggingface_hub import HfApi
model = list(api.list_models(task="text-to-image", limit=5))
pipe = pipeline("text-to-image", model[0].id)

Ảnh chụp trang chủ mô hình trên Hugging Face

Mô hình đa phương thức với Hugging Face

Truyền tùy chọn vào mô hình

  • MusicgenForConditionalGeneration hoạt động phía sau
pipe = pipeline(task="text-to-audio", 
                model="facebook/musicgen-small", framework="pt")
generate_kwargs = {"temperature": 0.8, "max_new_tokens": 20}

outputs = pipe("Classic rock riff", generate_kwargs=generate_kwargs)
  • temperature (0-1): điều khiển mức ngẫu nhiên/sáng tạo
  • max_new_tokens: giới hạn số token sinh ra
Mô hình đa phương thức với Hugging Face

Đánh giá hiệu năng pipeline

  • Accuracy: tỷ lệ dự đoán đúng tổng thể
  • Precision: tần suất dự đoán đúng của từng lớp
  • Recall: số mẫu thực tế được nhận diện đúng
  • F1 Score: kết hợp precision và recall
from evaluate import evaluator

task_evaluator = evaluator("image-classification")
metrics_dict = { "precision": "precision", "recall": "recall", "f1": "f1", }
label_map = pipe.model.config.label2id
Mô hình đa phương thức với Hugging Face

Đánh giá hiệu năng pipeline

eval_results = task_evaluator.compute(
  model_or_pipeline=pipe,

data=dataset,
metric=evaluate.combine(metrics_dict),
label_mapping=label_map)
print(eval_results)
{'precision': 0.999001923076923, 
'recall': 0.999, 
'f1': 0.9989999609405906, ...}
pipe = pipeline(task="image-classification",
model="ideepankarsharma2003/AI_ImageClassi
fication_MidjourneyV6_SDXL"
)
dataset = load_dataset("ideepankarsharma2003/
Midjourney_v6_Classification_small_shuffled")

ví dụ ảnh AI tạo ra trong tập dữ liệu: một con chó dưới nước

Mô hình đa phương thức với Hugging Face

Ayo berlatih!

Mô hình đa phương thức với Hugging Face

Preparing Video For Download...