Prompt Tuning
Khám phá điều chỉnh prompt (prompt tuning) để thích ứng hiệu quả với các model nền tảng mà không cần huấn luyện lại toàn bộ. Tìm hiểu cách các soft prompt giảm độ trễ và lưu trữ cho các tác vụ AI như YOLO26.
Prompt tuning là một kỹ thuật tối ưu hóa tài nguyên được sử dụng để thích ứng các foundation models đã được huấn luyện trước cho các tác vụ hạ nguồn cụ thể mà không mất chi phí tính toán khi huấn luyện lại toàn bộ mạng. Không giống như fine-tuning truyền thống - cập nhật tất cả hoặc hầu hết các tham số của model, prompt tuning đóng băng các model weights đã huấn luyện trước và chỉ tối ưu hóa một tập hợp nhỏ các vector có thể học (được gọi là "soft prompts") được thêm vào dữ liệu đầu vào. Cách tiếp cận này cho phép một backbone duy nhất, khổng lồ phục vụ nhiều ứng dụng chuyên biệt cùng lúc, giúp giảm đáng kể yêu cầu lưu trữ và chi phí chuyển đổi inference latency.
Cơ chế của Prompt Tuning#
Trong các quy trình machine learning (ML) tiêu chuẩn, các đầu vào như văn bản hoặc hình ảnh được chuyển đổi thành các biểu diễn số được gọi là embeddings. Prompt tuning chèn các vector embedding bổ sung có thể huấn luyện vào chuỗi đầu vào này. Trong giai đoạn huấn luyện, hệ thống sử dụng backpropagation để tính toán gradient, nhưng thuật toán tối ưu hóa chỉ cập nhật các giá trị của soft prompts mà không chạm vào cấu trúc model khổng lồ.
Phương pháp này là một dạng của Parameter-Efficient Fine-Tuning (PEFT). Bằng cách học các vector liên tục này, model được "điều hướng" hướng tới đầu ra mong muốn. Mặc dù khái niệm này bắt nguồn từ Natural Language Processing (NLP), nó đã được ứng dụng thành công cho các tác vụ Computer Vision (CV), thường được gọi là Visual Prompt Tuning (VPT).
Phân biệt các khái niệm liên quan#
Để hiểu tính hữu dụng của prompt tuning, điều cần thiết là phải phân biệt nó với các thuật ngữ tương tự trong bối cảnh AI:
- Prompt Engineering: Quá trình này bao gồm việc thủ công tạo ra các hướng dẫn bằng văn bản mà con người có thể đọc được (hard prompts) để hướng dẫn một model generative AI. Phương pháp này không đòi hỏi lập trình hay huấn luyện. Ngược lại, prompt tuning sử dụng supervised learning tự động để tìm ra các embedding số tối ưu có thể không tương ứng với các từ ngôn ngữ tự nhiên.
- Full Fine-Tuning: Các phương pháp truyền thống cập nhật toàn bộ mạng nơ-ron, điều này thường dẫn đến hiện tượng "quên thảm khốc" (catastrophic forgetting) của quá trình huấn luyện ban đầu. Prompt tuning bảo toàn các khả năng ban đầu của model, giúp dễ dàng tận dụng transfer learning trên các tác vụ rời rạc.
- Few-Shot Learning: Điều này thường đề cập đến việc cung cấp một vài ví dụ trong cửa sổ ngữ cảnh của một LLM. Prompt tuning có điểm khác biệt là nó học vĩnh viễn các tham số được lưu và tái sử dụng, thay vì chỉ cung cấp ngữ cảnh tạm thời.
Các ứng dụng trong thực tế#
Prompt tuning cho phép triển khai AI có khả năng mở rộng trong các môi trường bị hạn chế tài nguyên, đây là một triết lý cốt lõi được chia sẻ bởi Ultralytics Platform để quản lý model.
-
Hỗ trợ khách hàng đa ngôn ngữ: Một doanh nghiệp toàn cầu có thể sử dụng một ngôn ngữ model trung tâm, đã được đóng băng. Bằng cách huấn luyện các soft prompt gọn nhẹ cho tiếng Tây Ban Nha, tiếng Nhật và tiếng Đức, hệ thống có thể chuyển đổi ngôn ngữ ngay lập tức. Điều này tránh được chi phí khổng lồ khi lưu trữ ba model riêng biệt có kích thước gigabyte, thay vào đó dựa vào các tệp prompt kích thước kilobyte.
-
AI in Healthcare: Hình ảnh y tế thường gặp phải tình trạng thiếu dữ liệu. Các nhà nghiên cứu có thể lấy một backbone thị giác đa dụng (như Vision Transformer) và sử dụng prompt tuning để điều chỉnh nó nhằm phát hiện các bất thường cụ thể, chẳng hạn như bệnh về võng mạc hoặc khối u. Điều này duy trì quyền riêng tư dữ liệu của bệnh nhân và cho phép thích ứng nhanh chóng với các thiết bị y tế mới mà không cần huấn luyện lại toàn bộ model.
Ví dụ về triển khai#
Ví dụ PyTorch sau đây minh họa khái niệm cơ học cốt lõi: đóng băng các lớp chính của model và tạo ra một tham số có thể huấn luyện riêng biệt ("soft prompt") được tối ưu hóa để tác động đến đầu ra.
import torch
import torch.nn as nn
# 1. Define a dummy backbone (e.g., a pre-trained layer)
backbone = nn.Linear(10, 5)
# 2. Freeze the backbone weights (crucial for prompt tuning)
for param in backbone.parameters():
param.requires_grad = False
# 3. Create a 'soft prompt' vector that IS trainable
# This represents the learnable embeddings prepended to inputs
soft_prompt = nn.Parameter(torch.randn(1, 10), requires_grad=True)
# 4. Initialize an optimizer that targets ONLY the soft prompt
optimizer = torch.optim.SGD([soft_prompt], lr=0.1)
# Verify that only the prompt is being trained
trainable_params = sum(p.numel() for p in [soft_prompt] if p.requires_grad)
print(f"Optimizing {trainable_params} parameters (Soft Prompt only)")Sự liên quan đến Edge AI hiện đại#
Khi các model ngày càng lớn hơn, khả năng thích ứng chúng một cách tiết kiệm trở thành điều tối quan trọng. Mặc dù các kiến trúc như YOLO26 đã được tối ưu hóa cao về hiệu suất, các nguyên tắc đóng băng backbone và thích ứng hiệu quả là nền tảng cho tương lai của Edge AI. Các kỹ thuật tương tự như prompt tuning cho phép các thiết bị có bộ nhớ hạn chế thực hiện các tác vụ đa dạng — từ object detection đến phân đoạn — chỉ bằng cách hoán đổi các tệp cấu hình nhỏ thay vì tải lại các mạng nơ-ron khổng lồ.
Đối với các nhà phát triển muốn huấn luyện và triển khai hiệu quả, việc sử dụng các công cụ như Ultralytics Platform đảm bảo rằng các model được tối ưu hóa cho các mục tiêu phần cứng cụ thể của họ, tận dụng các phương pháp hay nhất của MLOps hiện đại.






