Thuật ngữ

LoRA (Thích ứng bậc thấp)

Khám phá cách LoRA tinh chỉnh các mô hình AI lớn như YOLO hiệu quả, giảm chi phí và cho phép triển khai biên với nguồn lực tối thiểu.

Xe lửa YOLO mô hình đơn giản
với Ultralytics TRUNG TÂM

Tìm hiểu thêm

LoRA (Low-Rank Adaptation) là một kỹ thuật hiệu quả được sử dụng để điều chỉnh các mô hình học máy (ML) được đào tạo trước lớn, chẳng hạn như các mô hình được sử dụng cho xử lý ngôn ngữ tự nhiên (NLP) hoặc thị giác máy tính (CV) , cho các tác vụ hoặc tập dữ liệu cụ thể mà không cần đào tạo lại toàn bộ mô hình. Nó làm giảm đáng kể chi phí tính toán và yêu cầu bộ nhớ liên quan đến việc tinh chỉnh các mô hình lớn, giúp AI tiên tiến dễ tiếp cận hơn. LoRA nằm trong phạm vi của các phương pháp Tinh chỉnh hiệu quả tham số (PEFT) , tập trung vào việc điều chỉnh các mô hình với những thay đổi tối thiểu đối với các tham số của chúng.

LoRA hoạt động như thế nào

Tinh chỉnh truyền thống liên quan đến việc cập nhật tất cả các tham số (hoặc trọng số mô hình ) của một mô hình được đào tạo trước bằng cách sử dụng dữ liệu mới. Đối với các mô hình có hàng tỷ tham số, như nhiều LLM hiện đại hoặc các mô hình thị giác lớn, quá trình này đòi hỏi nhiều tài nguyên tính toán, đặc biệt là bộ nhớ GPU và thời gian. LoRA hoạt động theo nguyên tắc, được hỗ trợ bởi nghiên cứu, rằng những thay đổi cần thiết để điều chỉnh một mô hình thường nằm trong không gian có chiều thấp hơn, nghĩa là chúng không yêu cầu thay đổi mọi trọng số.

Thay vì sửa đổi tất cả các trọng số ban đầu, LoRA đóng băng chúng và đưa các ma trận "hạng thấp" nhỏ hơn, có thể đào tạo được vào các lớp cụ thể của kiến trúc mô hình, thường là trong các khối Transformer (một thành phần phổ biến trong nhiều mô hình lớn, được giải thích thêm trong bài báo Attention Is All You Need ). Chỉ những ma trận mới được thêm vào này (thường được gọi là bộ điều hợp) mới được cập nhật trong quá trình tinh chỉnh. Điều này làm giảm đáng kể số lượng tham số có thể đào tạo được, thường theo cấp số nhân (ví dụ: hàng triệu thay vì hàng tỷ), trong khi vẫn đạt được hiệu suất tương đương với tinh chỉnh hoàn toàn trong nhiều trường hợp. Bài báo nghiên cứu LoRA ban đầu cung cấp thêm thông tin chi tiết kỹ thuật về phương pháp luận và hiệu quả của nó. Phương pháp này làm cho quá trình tinh chỉnh nhanh hơn đáng kể và ít tốn bộ nhớ hơn.

Sự liên quan và lợi ích

Ưu điểm chính của LoRA là hiệu quả, mang lại một số lợi ích chính:

  • Giảm chi phí tính toán: Yêu cầu ít bộ nhớ GPU và sức mạnh tính toán hơn đáng kể so với tinh chỉnh hoàn toàn, giúp khả thi khi áp dụng các mô hình lớn trên phần cứng ít mạnh hơn.
  • Dấu chân lưu trữ nhỏ hơn: Vì trọng lượng mô hình gốc bị đóng băng, chỉ cần lưu các bộ điều hợp LoRA nhỏ cho từng tác vụ cụ thể. Điều này hiệu quả hơn nhiều so với việc lưu trữ một bản sao đầy đủ của mô hình được tinh chỉnh cho mọi tác vụ.
  • Chuyển đổi tác vụ nhanh hơn: Tải các bộ điều hợp LoRA khác nhau cho phép chuyển đổi nhanh giữa các tác vụ mà không cần tải toàn bộ các mô hình lớn mới.
  • Hiệu suất tương đương: Mặc dù đào tạo ít tham số hơn nhiều, LoRA thường đạt được mức độ chính xác tương tự như mức độ chính xác đạt được thông qua tinh chỉnh hoàn toàn đối với các tác vụ hạ nguồn cụ thể.
  • Cho phép triển khai Edge: Yêu cầu về tài nguyên giảm giúp điều chỉnh các mô hình cho các tình huống điện toán biên khi sức mạnh tính toán và bộ nhớ bị hạn chế, mang lại khả năng AI mạnh mẽ cho các thiết bị như điện thoại thông minh hoặc hệ thống nhúng ( Edge AI do Intel giải thích ).
  • Dân chủ hóa: Giảm rào cản gia nhập cho các nhà nghiên cứu và nhà phát triển muốn tùy chỉnh các mô hình tiên tiến như mô hình GPT-4 hoặc Ultralytics YOLO .

Ứng dụng của LoRA

Hiệu quả của LoRA làm cho nó có giá trị trong nhiều lĩnh vực khác nhau:

  1. Thích ứng với các mô hình ngôn ngữ lớn (LLM): Đây là một trong những cách sử dụng phổ biến nhất. Các nhà phát triển có thể sử dụng một LLM được đào tạo trước quy mô lớn (như những LLM có sẵn thông qua Hugging Face Face) và sử dụng LoRA để chuyên biệt hóa nó cho các ứng dụng cụ thể như chatbot tùy chỉnh, hệ thống trả lời câu hỏi theo miền cụ thể hoặc cải thiện tóm tắt văn bản cho các loại tài liệu cụ thể. Các thư viện như thư viện PEFT của Hugging Face cung cấp các triển khai LoRA dễ dàng.
  2. Tùy chỉnh các mô hình thị giác máy tính: LoRA có thể được áp dụng cho các mô hình thị giác máy tính lớn cho các nhiệm vụ như phát hiện đối tượng , phân đoạn hình ảnh hoặc ước tính tư thế . Ví dụ, một Ultralytics YOLO mô hình được đào tạo trước trên một tập dữ liệu lớn như COCO có thể được tinh chỉnh hiệu quả bằng cách sử dụng LoRA để phát hiện các loại đối tượng cụ thể trong một miền thích hợp, chẳng hạn như các loài có nguy cơ tuyệt chủng để bảo tồn động vật hoang dã hoặc các khiếm khuyết cụ thể trong kiểm soát chất lượng sản xuất . Các nền tảng như Ultralytics HUB có thể hợp lý hóa việc đào tạotriển khai các mô hình được điều chỉnh như vậy.

LoRA so với các khái niệm liên quan

Sẽ rất hữu ích khi phân biệt LoRA với các kỹ thuật điều chỉnh mô hình khác:

  • Tinh chỉnh hoàn toàn: Phương pháp này cập nhật tất cả các trọng số của một mô hình được đào tạo trước trên một tập dữ liệu mới. Mặc dù thường hiệu quả, nhưng nó đòi hỏi nhiều tài nguyên tính toán và lưu trữ cho mỗi mô hình được điều chỉnh. Ngược lại, LoRA đóng băng các trọng số ban đầu và chỉ đào tạo các ma trận bộ điều hợp nhỏ được tiêm. Tìm thêm thông tin chi tiết trong mục nhập thuật ngữ tinh chỉnh của chúng tôi và tổng quan về tinh chỉnh của NVIDIA .
  • Prompt Tuning: Kỹ thuật này giữ trọng số mô hình hoàn toàn đóng băng và thay vào đó học "soft prompt" liên tục (các vector được thêm vào nhúng đầu vào) để điều khiển hành vi của mô hình cho các tác vụ cụ thể. Không giống như LoRA, nó không sửa đổi bất kỳ trọng số mô hình nào mà chỉ tập trung hoàn toàn vào việc điều chỉnh biểu diễn đầu vào. Đọc thêm về prompt tuningprompt engineering .
  • Các phương pháp PEFT khác: LoRA chỉ là một kỹ thuật trong lĩnh vực rộng hơn của Parameter-Efficient Fine-Tuning (PEFT) . Các phương pháp khác bao gồm Adapter Tuning (tương tự nhưng có cấu trúc adapter hơi khác), Prefix Tuning và IA³, mỗi phương pháp cung cấp các sự đánh đổi khác nhau về hiệu suất và hiệu suất của tham số .

Tóm lại, LoRA cung cấp một phương pháp mạnh mẽ và tiết kiệm tài nguyên để tùy chỉnh các mô hình nền tảng được đào tạo trước quy mô lớn cho nhiều tác vụ cụ thể trong cả NLP và thị giác máy tính , giúp AI tiên tiến trở nên thiết thực và dễ tiếp cận hơn.

Đọc tất cả