Kỹ thuật prompt
Hiểu về Fine-Tuning LLM: Tùy chỉnh Mô hình Ngôn ngữ Lớn theo Yêu cầu Riêng

Vào tháng 9 năm 2023, lĩnh vực Mô hình Ngôn ngữ Lớn (LLM) vẫn đang chứng kiến sự xuất hiện của các mô hình bao gồm Alpaca, Falcon, Llama 2, GPT-4 và nhiều mô hình khác.
Một khía cạnh quan trọng của việc tận dụng tiềm năng của các LLM này nằm trong quá trình fine-tuning, một chiến lược cho phép tùy chỉnh các mô hình đã được đào tạo trước để đáp ứng các nhiệm vụ cụ thể với độ chính xác cao. Quá trình fine-tuning này cho phép các mô hình này thực sự phù hợp với các yêu cầu riêng biệt, cung cấp các giải pháp sáng tạo và phù hợp với nhu cầu riêng.
Tuy nhiên, cần lưu ý rằng không phải tất cả các phương pháp fine-tuning đều được tạo ra như nhau. Ví dụ, việc truy cập vào khả năng fine-tuning của GPT-4 đòi hỏi một khoản đăng ký trả phí, tương đối đắt hơn so với các lựa chọn khác trên thị trường. Mặt khác, lĩnh vực mã nguồn mở đang cung cấp các lựa chọn thay thế cung cấp một con đường dễ tiếp cận hơn để tận dụng sức mạnh của các mô hình ngôn ngữ lớn. Những lựa chọn mã nguồn mở này giúp dân chủ hóa việc tiếp cận công nghệ AI tiên tiến, thúc đẩy sự đổi mới và bao gồm trong lĩnh vực AI đang phát triển nhanh chóng.
Tại sao Fine-Tuning LLM lại quan trọng?
Fine-tuning LLM không chỉ là một cải tiến kỹ thuật; nó là một khía cạnh quan trọng của quá trình phát triển mô hình LLM, cho phép áp dụng mô hình một cách cụ thể và tinh tế hơn trong các nhiệm vụ khác nhau. Quá trình fine-tuning điều chỉnh các mô hình đã được đào tạo trước để phù hợp tốt hơn với các tập dữ liệu cụ thể, tăng cường hiệu suất của chúng trong các nhiệm vụ cụ thể và đảm bảo ứng dụng được nhắm mục tiêu hơn. Nó thể hiện khả năng đáng kinh ngạc của LLM trong việc thích nghi với dữ liệu mới, thể hiện sự linh hoạt quan trọng trong sự quan tâm ngày càng tăng đối với các ứng dụng AI.
Quá trình fine-tuning các mô hình ngôn ngữ lớn mở ra nhiều cơ hội, cho phép chúng excelled trong các nhiệm vụ cụ thể từ phân tích cảm xúc đến xem xét tài liệu y tế. Bằng cách điều chỉnh mô hình cơ sở cho một trường hợp sử dụng cụ thể, chúng ta mở ra những khả năng mới, tăng cường hiệu quả và độ chính xác của mô hình. Hơn nữa, nó giúp tận dụng tài nguyên hệ thống một cách kinh tế hơn, vì quá trình fine-tuning đòi hỏi ít tài nguyên tính toán hơn so với việc đào tạo một mô hình từ đầu.
Khi chúng ta đi sâu vào hướng dẫn này, chúng ta sẽ thảo luận về các chi tiết của quá trình fine-tuning LLM, cung cấp cho bạn một cái nhìn tổng quan toàn diện dựa trên những tiến bộ và phương pháp hay nhất trong lĩnh vực này.
Fine-Tuning Dựa trên Hướng dẫn
Giai đoạn fine-tuning trong chu kỳ phát triển của Trí tuệ nhân tạo tạo ra (Generative AI) được minh họa trong hình dưới đây, được đặc trưng bởi việc tích hợp các hướng dẫn đầu vào và đầu ra, cùng với các ví dụ về lý luận từng bước. Cách tiếp cận này cho phép mô hình tạo ra các phản hồi không chỉ liên quan mà còn chính xác phù hợp với các hướng dẫn cụ thể được đưa vào.
Fine-Tuning cho Một Nhiệm vụ Đơn
Fine-tuning cho một nhiệm vụ đơn tập trung vào việc tinh chỉnh chuyên môn của mô hình trong một nhiệm vụ cụ thể, chẳng hạn như tóm tắt. Cách tiếp cận này đặc biệt có lợi trong việc tối ưu hóa các quy trình liên quan đến các tài liệu hoặc luồng hội thoại lớn, bao gồm cả tài liệu pháp lý và vé hỗ trợ khách hàng. Đặc biệt, quá trình fine-tuning này có thể đạt được sự cải thiện hiệu suất đáng kể với một tập hợp nhỏ các ví dụ, dao động từ 500 đến 1000, trái ngược với hàng tỷ token được sử dụng trong giai đoạn đào tạo trước.
Cơ Sở của Fine-Tuning LLM: Kiến Trúc Transformer và Beyond
Hành trình hiểu về fine-tuning LLM bắt đầu với việc nắm bắt các yếu tố cơ bản cấu thành LLM. Tại trung tâm của các mô hình này là kiến trúc transformer, một mạng lưới thần kinh sử dụng cơ chế chú ý tự (self-attention) để ưu tiên ngữ cảnh của từ so với vị trí của chúng trong câu. Cách tiếp cận này cho phép hiểu sâu hơn về mối quan hệ xa giữa các token trong đầu vào.
Khi chúng ta đi sâu vào các chi tiết của transformer, chúng ta sẽ gặp một quá trình nhiều bước bắt đầu với bộ mã hóa. Giai đoạn này bao gồm việc mã hóa đầu vào và tạo ra các vector nhúng đại diện cho đầu vào và vị trí của nó trong câu. Các giai đoạn tiếp theo bao gồm một loạt các tính toán sử dụng các ma trận được gọi là Query, Value và Key, kết thúc với một điểm số chú ý tự quyết định sự tập trung vào các phần khác nhau của câu và các token khác nhau.
Fine-tuning là một giai đoạn quan trọng trong quá trình phát triển LLM, một quá trình đòi hỏi phải điều chỉnh tinh tế để đạt được đầu ra mong muốn. Giai đoạn này, mặc dù quan trọng, cũng đặt ra một loạt thách thức, bao gồm cả yêu cầu tính toán và lưu trữ để xử lý một số lượng lớn tham số. Phương pháp Fine-Tuning hiệu quả về tham số (PEFT) cung cấp các kỹ thuật để giảm số lượng tham số cần được fine-tuning, từ đó đơn giản hóa quá trình đào tạo.
Đào tạo Trước LLM: Thiết Lập Một Cơ Sở Mạnh
Trong các giai đoạn đầu của quá trình phát triển LLM, đào tạo trước đóng vai trò trung tâm, sử dụng các kiến trúc transformer quá tham số hóa làm nền tảng. Quá trình này bao gồm việc mô hình hóa ngôn ngữ tự nhiên theo nhiều cách khác nhau, chẳng hạn như song hướng, tự hồi quy hoặc trình tự-sang-trình tự trên các tập dữ liệu lớn không giám sát. Mục tiêu ở đây là tạo ra một nền tảng có thể được fine-tuning sau này cho các nhiệm vụ cụ thể thông qua việc giới thiệu các mục tiêu cụ thể cho nhiệm vụ.
Một xu hướng đáng chú ý trong lĩnh vực này là sự gia tăng không thể tránh khỏi về quy mô của các LLM đã được đào tạo trước, đo bằng số lượng tham số. Dữ liệu thực nghiệm cho thấy rằng các mô hình lớn hơn, cùng với nhiều dữ liệu hơn, gần như luôn dẫn đến hiệu suất tốt hơn. Ví dụ, GPT-3 với 175 tỷ tham số đã thiết lập một chuẩn mực trong việc tạo ra ngôn ngữ tự nhiên chất lượng cao và thực hiện một loạt các nhiệm vụ zero-shot một cách thành thạo.
Fine-Tuning: Con Đường Đến Sự Thích Ứng Của Mô Hình
Sau quá trình đào tạo trước, LLM sẽ trải qua quá trình fine-tuning để thích ứng với các nhiệm vụ cụ thể. Mặc dù việc học trong ngữ cảnh đã được chứng minh là có hiệu suất tốt trong các LLM đã được đào tạo trước như GPT-3, fine-tuning vẫn vượt trội trong các thiết lập nhiệm vụ cụ thể. Tuy nhiên, cách tiếp cận phổ biến của việc fine-tuning toàn bộ tham số đặt ra các thách thức, bao gồm cả yêu cầu tính toán và bộ nhớ cao, đặc biệt là khi xử lý các mô hình quy mô lớn.
Đối với các mô hình ngôn ngữ lớn có hơn một tỷ tham số, việc quản lý hiệu quả RAM của GPU là rất quan trọng. Một tham số mô hình duy nhất ở độ chính xác 32-bit đầy đủ đòi hỏi 4 byte không gian, tương đương với yêu cầu 4GB RAM của GPU chỉ để tải một mô hình có một tỷ tham số. Quá trình đào tạo thực tế đòi hỏi nhiều bộ nhớ hơn để chứa các thành phần như trạng thái tối ưu hóa và gradient, có thể yêu cầu tới 80GB RAM của GPU cho một mô hình có quy mô này.
Để vượt qua các hạn chế của RAM GPU, kỹ thuật lượng tử hóa được sử dụng, đây là một kỹ thuật giảm độ chính xác của các tham số mô hình, từ đó giảm yêu cầu bộ nhớ. Ví dụ, việc thay đổi độ chính xác từ 32-bit sang 16-bit có thể giảm một nửa bộ nhớ cần thiết cho cả việc tải và đào tạo mô hình. Sau này trong bài viết này, chúng ta sẽ tìm hiểu về QLoRA, sử dụng khái niệm lượng tử hóa để điều chỉnh.
Khám Phá Các Loại Phương Pháp PEFT
Trong quá trình fine-tuning toàn bộ LLM, điều quan trọng là phải có một thiết lập tính toán có thể xử lý hiệu quả không chỉ trọng lượng mô hình đáng kể, mà còn quản lý một loạt các yếu tố quan trọng khác. Những yếu tố này bao gồm việc phân bổ bộ nhớ cho trạng thái tối ưu hóa, quản lý gradient, hoạt động chuyển tiếp và tạo điều kiện cho bộ nhớ tạm thời trong các giai đoạn khác nhau của quy trình đào tạo.
Phương Pháp Cộng
Loại điều chỉnh này có thể bổ sung mô hình đã được đào tạo trước với các tham số hoặc lớp bổ sung, tập trung vào việc đào tạo chỉ các tham số mới được thêm vào. Mặc dù tăng số lượng tham số, nhưng những phương pháp này vẫn tăng cường hiệu quả đào tạo và không gian. Phương pháp cộng được chia thành các loại nhỏ hơn:
- Adapter: Tích hợp các mạng kết nối đầy đủ nhỏ sau các lớp con của transformer, với các ví dụ đáng chú ý như AdaMix, KronA và Compactor.
- Soft Prompt: Điều chỉnh một đoạn của vector nhúng đầu vào của mô hình thông qua sự giảm dần, với IPT, prefix-tuning và WARP là những ví dụ nổi bật.
- Các Phương Pháp Cộng Khác: Bao gồm các kỹ thuật như LeTS, AttentionFusion và Ladder-Side Tuning.
Phương Pháp Lựa Chọn
Các phương pháp PEFT lựa chọn điều chỉnh một số lượng giới hạn các lớp trên cùng dựa trên loại lớp và cấu trúc mô hình nội bộ. Loại này bao gồm các phương pháp như BitFit và LN tuning, tập trung vào việc điều chỉnh các yếu tố cụ thể như thiên vị mô hình hoặc các hàng cụ thể.
Phương Pháp Dựa trên Tái Tham Số Hóa
Những phương pháp này sử dụng các biểu diễn hạng thấp để giảm số lượng tham số có thể đào tạo, với phương pháp nổi tiếng nhất là Low-Rank Adaptation hay LoRA. Phương pháp này sử dụng một phân tích ma trận hạng thấp đơn giản để tham số hóa việc cập nhật trọng lượng, thể hiện việc điều chỉnh hiệu quả trong không gian con hạng thấp.
1) LoRA (Low-Rank Adaptation)
LoRA nổi lên như một kỹ thuật PEFT đột phá, được giới thiệu trong một bài báo bởi Edward J. Hu và các cộng sự vào năm 2021. Nó hoạt động trong phạm trù tái tham số hóa, bằng cách đóng băng các trọng lượng ban đầu của LLM và tích hợp các ma trận hạng thấp mới có thể đào tạo được vào từng lớp của kiến trúc Transformer. Cách tiếp cận này không chỉ giảm số lượng tham số có thể đào tạo mà còn giảm thời gian đào tạo và tài nguyên tính toán cần thiết, do đó cung cấp một giải pháp thay thế hiệu quả hơn cho việc fine-tuning toàn bộ.
Để hiểu được cơ chế của LoRA, chúng ta cần quay lại kiến trúc transformer, nơi đầu vào trải qua quá trình mã hóa và chuyển đổi thành vector nhúng. Những vector này đi qua bộ mã hóa và/hoặc bộ giải mã của transformer, gặp phải các mạng tự chú ý và mạng tiến hành, trong đó trọng lượng được đào tạo trước.
LoRA sử dụng khái niệm Phân tích giá trị đơn (SVD). Về cơ bản, SVD chia một ma trận thành ba ma trận riêng biệt, một trong số đó là ma trận đường chéo chứa các giá trị đơn. Những giá trị đơn này rất quan trọng vì chúng đo lường tầm quan trọng của các chiều khác nhau trong ma trận, với các giá trị lớn hơn cho thấy tầm quan trọng cao hơn và các giá trị nhỏ hơn cho thấy tầm quan trọng thấp hơn.
Cách tiếp cận này cho phép LoRA duy trì các đặc điểm quan trọng của dữ liệu trong khi giảm chiều, từ đó tối ưu hóa quá trình fine-tuning.
LoRA can thiệp vào quá trình này, bằng cách đóng băng tất cả các tham số mô hình ban đầu và giới thiệu một cặp “ma trận phân tích hạng” cùng với trọng lượng ban đầu. Những ma trận nhỏ hơn này, được ký hiệu là A và B, sẽ trải qua quá trình đào tạo thông qua học tăng cường.
Yếu tố quan trọng trong chiến lược này là tham số “hạng” (‘r’), quyết định kích thước của các ma trận hạng thấp. Việc chọn ‘r’ một cách cẩn thận có thể mang lại kết quả ấn tượng, ngay cả với giá trị nhỏ hơn, từ đó tạo ra một ma trận hạng thấp với ít tham số cần đào tạo. Chiến lược này đã được thực hiện hiệu quả bằng cách sử dụng các thư viện mã nguồn mở như HuggingFace Transformers, giúp cho việc fine-tuning LoRA cho các nhiệm vụ khác nhau trở nên hiệu quả.
2) QLoRA: Tăng Cường Hiệu Quả Của LoRA
Xây dựng trên nền tảng của LoRA, QLoRA giảm thiểu hơn nữa yêu cầu về bộ nhớ. Được giới thiệu bởi Tim Dettmers và các cộng sự vào năm 2023, nó kết hợp thích nghi hạng thấp với lượng tử hóa, sử dụng định dạng lượng tử hóa 4-bit được gọi là NormalFloat hoặc nf4. Lượng tử hóa về cơ bản là một quá trình chuyển đổi dữ liệu từ một biểu diễn thông tin cao sang một biểu diễn thông tin thấp hơn. Cách tiếp cận này duy trì hiệu quả của các phương pháp fine-tuning 16-bit, giải lượng tử hóa các trọng số 4-bit thành 16-bit khi cần thiết trong quá trình tính toán.

So sánh các phương pháp fine-tuning: QLORA tăng cường LoRA với lượng tử hóa 4-bit và các bộ tối ưu hóa phân trang để quản lý đỉnh bộ nhớ
QLoRA tận dụng NumericFloat4 (nf4), nhắm vào mọi lớp trong kiến trúc transformer, và giới thiệu khái niệm lượng tử hóa kép để thu nhỏ hơn nữa dấu chân bộ nhớ cần thiết cho quá trình fine-tuning. Điều này đạt được bằng cách thực hiện lượng tử hóa trên các hằng số đã được lượng tử hóa, một chiến lược tránh được các đỉnh bộ nhớ điển hình của kiểm tra gradient thông qua việc sử dụng các bộ tối ưu hóa phân trang và quản lý bộ nhớ thống nhất.
Guanaco, một tập hợp được điều chỉnh bởi QLORA, thiết lập một chuẩn mực trong các giải pháp trò chuyện mã nguồn mở. Hiệu suất của nó, được xác nhận thông qua các đánh giá hệ thống của con người và tự động, nhấn mạnh sự thống trị và hiệu quả của nó trong lĩnh vực này.
Các phiên bản 65B và 33B của Guanaco, được điều chỉnh bằng cách sử dụng một phiên bản sửa đổi của tập dữ liệu OASST1, nổi lên như những đối thủ đáng gờm đối với các mô hình nổi tiếng như ChatGPT và thậm chí là GPT-4.
Fine-Tuning Sử Dụng Học Lại Cường Cường Từ Phản Hồi Của Con Người
Học lại cường cường từ phản hồi của con người (RLHF) tham gia vào quá trình fine-tuning các mô hình ngôn ngữ đã được đào tạo trước để phù hợp hơn với các giá trị của con người. Khái niệm này được giới thiệu bởi Open AI vào năm 2017, tạo nền tảng cho việc cải thiện tóm tắt tài liệu và phát triển InstructGPT.
Ở trung tâm của RLHF là mô hình học tăng cường, một loại kỹ thuật học máy nơi một đại lý học cách hành động trong một môi trường bằng cách thực hiện hành động và nhận phần thưởng. Đó là một vòng lặp liên tục của hành động và phản hồi, nơi đại lý được khuyến khích đưa ra những lựa chọn sẽ mang lại phần thưởng cao nhất.
Khi dịch sang lĩnh vực mô hình ngôn ngữ, đại lý là chính mô hình, hoạt động trong môi trường của một cửa sổ ngữ cảnh nhất định và đưa ra quyết định dựa trên trạng thái, được định nghĩa bởi các token hiện tại trong cửa sổ ngữ cảnh. “Không gian hành động” bao gồm tất cả các token tiềm năng mà mô hình có thể chọn, với mục tiêu là chọn token phù hợp nhất với sở thích của con người.
Quá trình RLHF tận dụng phản hồi của con người rộng rãi, sử dụng nó để đào tạo một mô hình phần thưởng. Mô hình này đóng vai trò quan trọng trong việc hướng dẫn mô hình đã được đào tạo trước trong quá trình fine-tuning, khuyến khích nó tạo ra các đầu ra phù hợp hơn với các giá trị của con người. Đó là một quá trình động và lặp lại, nơi mô hình học thông qua một loạt các “cuộn”, một thuật ngữ dùng để mô tả chuỗi trạng thái và hành động dẫn đến một phần thưởng trong ngữ cảnh tạo ngôn ngữ.
Một trong những tiềm năng đáng chú ý của RLHF là khả năng của nó trong việc thúc đẩy sự cá nhân hóa trong các trợ lý AI, điều chỉnh chúng để phù hợp với sở thích của từng người dùng, cho dù đó là cảm giác hài hước hay thói quen hàng ngày. Nó mở ra các con đường để tạo ra các hệ thống AI không chỉ giỏi về mặt kỹ thuật mà còn thông minh về mặt cảm xúc, có khả năng hiểu và phản hồi với sự tinh tế trong giao tiếp của con người.
Tuy nhiên, cần lưu ý rằng RLHF không phải là một giải pháp hoàn hảo. Các mô hình vẫn có thể tạo ra các đầu ra không mong muốn, phản ánh sự rộng lớn và thường không được kiểm soát và thiên vị của dữ liệu mà chúng được đào tạo.
Kết Luận
Quá trình fine-tuning, một bước quan trọng trong việc tận dụng toàn bộ tiềm năng của LLM như Alpaca, Falcon và GPT-4, đã trở nên tinh tế và tập trung hơn, cung cấp các giải pháp được tùy chỉnh cho một loạt các nhiệm vụ.
Chúng ta đã thấy fine-tuning cho một nhiệm vụ đơn, chuyên môn hóa mô hình trong một vai trò cụ thể, và Phương pháp Fine-Tuning hiệu quả về tham số (PEFT) bao gồm LoRA và QLoRA, nhằm làm cho quá trình đào tạo trở nên hiệu quả và tiết kiệm chi phí hơn. Những phát triển này đang mở ra cánh cửa cho các chức năng AI cấp cao cho một đối tượng rộng lớn hơn.
Hơn nữa, việc giới thiệu Học lại cường cường từ phản hồi của con người (RLHF) bởi Open AI là một bước tiến trong việc tạo ra các hệ thống AI không chỉ thông minh mà còn phù hợp với các giá trị và sở thích của con người, thiết lập giai đoạn cho các trợ lý AI không chỉ thông minh mà còn nhạy cảm với nhu cầu của từng người dùng. Cả RLHF và PEFT đều hoạt động cùng nhau để tăng cường chức năng và hiệu quả của các Mô hình Ngôn ngữ Lớn.
Khi các doanh nghiệp, tổ chức và cá nhân tìm cách tích hợp những LLM đã được fine-tuning này vào hoạt động của họ, họ cơ bản đang chào đón một tương lai nơi AI không chỉ là một công cụ; mà nó là một đối tác hiểu và thích nghi với ngữ cảnh của con người, cung cấp các giải pháp sáng tạo và được cá nhân hóa.























