Tác giả: Aayush Mitta
(ngày 20 tháng 9 năm 2023)
Vào tháng Chín năm 2023, các Mô hình Ngôn ngữ Lớn (LLMs) vẫn tiếp tục xuất hiện của các mô hình mới như Alpaca, Falcon, Llama 2, GPT-4 và nhiều hơn nữa.
Một khía cạnh quan trọng nhằm tận dụng tiềm năng của những LLMs này nằm ở quá trình tinh chỉ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 để phục vụ các nhiệm vụ cụ thể với độ chính xác cao. Chính thông qua quá trình fine-tuning, các mô hình mới thực sự có thể đáp ứng đúng với các yêu cầu cá biệt hóa, cung cấp các giải pháp độc đáo và phù hợp với nhu cầu cụ thể của doanh nghiệp hay tổ chức.
Tuy nhiên, cần lưu ý rằng không phải tất cả các cơ hội fine-tuning được tạo ra như nhau. Ví dụ, việc truy cập khả năng fine-tuning của GPT-4 đòi hỏi một đăng ký trả phí có giá khá cao, so với các lựa chọn khác có sẵn trên thị trường. Trong khi đó, lĩnh vực mã nguồn mở đang rộn ràng với các tùy chọn thay thế mang lại khả năng dễ tiếp cận để khai thác sức mạnh của các mô hình sẵn có. Các lựa chọn mã nguồn mở cho phép tiếp cận trực tiếp công nghệ trí tuệ nhân tạo tiên tiến, thúc đẩy sự đổi mới và tích hợp trong bối cảnh lĩnh vực AI đang phát triển rất nhanh.
Tại sao việc tinh chỉnh (fine-tuning) LLM quan trọng?
Fine-tuning LLM không chỉ là một cải tiến kỹ thuật; đó 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 ứng dụng cụ thể và tinh chỉnh hơn trong các nhiệm vụ khác nhau. Fine-tuning điều chỉnh các mô hình được đào tạo trước để phù hợp hơn với các bộ dữ liệu cụ thể, nâng cao hiệu suất của chúng trong các nhiệm vụ cụ thể và đảm bảo ứng dụng được tập trung hơn. Nó làm hiện lên khả năng đáng kinh ngạc của LLMs để thích nghi với dữ liệu mới, thể hiện tính linh hoạt quan trọng trong sự quan tâm ngày càng tăng về ứng dụng trí tuệ nhân tạo.
Fine-tuning các mô hình ngôn ngữ lớn mở ra nhiều cơ hội, cho phép chúng xuất sắc trong các nhiệm vụ cụ thể từ phân tích cảm xúc đến đánh giá văn bản y khoa. 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ở khóa các khả năng mới, nâng cao hiệu suất và độ chính xác của mô hình. Hơn nữa, điều này hỗ trợ sử dụng tài nguyên hệ thống một cách kinh tế hơn, vì fine-tuning yêu cầu ít sức mạnh 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 hơn vào hướng dẫn này, chúng ta sẽ thảo luận về sự phức tạp của việc fine-tuning LLM, mang lại cho bạn cái nhìn tổng quan toàn diện dựa trên các tiến bộ mới nhất và các thực tiễn tốt 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 vòng đời của Trí tuệ Nhân tạo Tạo ra, được minh họa trong hình dưới đây, được đặc trưng bởi việc tích hợp các đầu vào và đầu ra dạng hướng dẫn, kết hợp với các ví dụ về tư duy từng bước. Phương pháp này giúp mô hình tạo ra các phản ứng 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. Chính trong giai đoạn này, các mô hình được đào tạo trước được điều chỉnh để giải quyết các nhiệm vụ và trường hợp sử dụng riêng biệt, sử dụng các bộ dữ liệu cá nhân hóa để nâng cao tính năng của chúng.
Fine-tuning đơn nhiệm
Fine-tuning đơn nhiệm tập trung vào việc rèn luyện sự chuyên nghiệp của mô hình trong một nhiệm vụ cụ thể, ví dụ như tóm tắt văn bản. Phương pháp này đặc biệt hữu ích trong việc tối ưu hóa quy trình làm việc liên quan đến tài liệu lớn hoặc chuỗi trò chuyện, bao gồm tài liệu pháp lý và các yêu cầu hỗ trợ khách hàng. Đáng chú ý, việc fine-tuning này có thể đạt được những cải thiện đáng kể về hiệu suất với một tập hợp ví dụ tương đối nhỏ, từ 500 đến 1000 ví dụ, một trái ngược so với hàng tỷ token được sử dụng trong giai đoạn đào tạo trước đó.
Nền tảng của Fine-Tuning LLM: Kiến trúc Transformer và Hơn thế Nữa
Hành trình để hiểu về Fine-Tuning LLM bắt đầu với việc nắm vững các yếu tố cơ bản tạo nên các mô hình LLM. Tại trái tim của những mô hình này là kiến trúc transformer, một mạng neural sử dụng cơ chế tự-chú ý để ưu tiên ngữ cảnh của các từ hơn là khoảng cách giữa chúng trong một câu. Phương pháp đổi mới này giúp hiểu sâu hơn về các mối quan hệ xa xôi giữa các token trong đầu vào.
Khi chúng ta đi qua sự phức tạp của các transformers, chúng ta gặp phải một quá trình nhiều bước bắt đầu bằng bộ mã hóa. Giai đoạn ban đầu này liên quan đến việc tạo token cho đầu vào và tạo ra các vector nhúng biểu thị đầu vào và vị trí của nó trong câu. Các giai đoạn tiếp theo liên quan đến một loạt các phép tính sử dụng ma trận được gọi là Query, Value và Key, dẫn đến một điểm tự-chú ý cuối cùng 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 đóng vai trò quan trọng trong quá trình phát triển của các mô hình LLM, một quy trình bao gồm việc điều chỉnh tinh tế để đạt được các kết quả mong muốn hơn. Giai đoạn này, mặc dù quan trọng, đặt ra một loạt thách thức, bao gồm yêu cầu tính toán và lưu trữ để xử lý một lượng lớn các tham số. Parameter Efficient Fine-Tuning (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.
Huấn luyện từ trước của LLM: Xây dựng một Nền tảng Mạnh mẽ
Trong các giai đoạn đầu của việc phát triển LLM, quá trình đào tạo trước đóng vai trò quan trọng, sử dụng các transformer với số tham số nhiều hơn cần thiết như kiến trúc nền tảng. Quy 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 như đánh hai chiều, tự hồi quy hoặc chuỗi-chuỗi trên các ngữ liệu không giám sát quy mô lớn. Mục tiêu ở đây là tạo ra một nền tảng có thể được fine-tuning sau đó cho các nhiệm vụ cụ thể thông qua việc đưa vào 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ự tăng đáng kể về quy mô của các mô hình LLM được đào tạo trước, được đo lường bằng số lượng tham số. Dữ liệu thực nghiệm liên tục cho thấy rằng các mô hình lớn hơn kết hợp với nhiều dữ liệu gần như luôn luôn mang lại hiệu suất tốt hơn. Ví dụ, GPT-3 với 175 tỷ tham số của nó đã thiết lập một tiêu chuẩn 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ụ không cần hướng dẫn một cách thành thạo.
Fine-Tuning: Con đường Điều chỉnh Mô hình
Sau giai đoạn đào tạo trước, LLM trải qua giai đoạn fine-tuning để thích nghi với các nhiệm vụ cụ thể. Mặc dù hiệu suất ấn tượng được thể hiện bởi việc học trong bối cảnh trong các LLM đã được đào tạo trước như GPT-3, fine-tuning vẫn ưu việt trong các cài đặt cụ thể cho từng nhiệm vụ. Tuy nhiên, phương pháp phổ biến của việc fine-tuning toàn bộ tham số mang lại các thách thức, bao gồm 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ố, quản lý hiệu quả của RAM GPU 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 GPU chỉ để tải một mô hình có 1 tỷ tham số. Quá trình đào tạo thực tế đòi hỏi thậm chí nhiều bộ nhớ hơn để chứa các thành phần khác nhau bao gồm trạng thái tối ưu hóa và độ dốc, có thể đòi hỏi lên đến 80GB RAM GPU cho một mô hình có quy mô như vậy.
Để vượt qua giới hạn của RAM GPU, người ta sử dụng kỹ thuật gọi là quantization, đó 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ụ, thay đổi độ chính xác từ 32 bit xuống 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, một ứng dụng sử dụng khái niệm quantization cho việc điều chỉnh.
Khám phá các Loại Phương pháp PEFT
Trong quá trình điều chỉnh hoàn toàn các Mô hình Ngôn ngữ Lớn, quan trọng có một thiết lập tính toán có thể xử lý một cách hiệu quả không chỉ các trọng số mô hình lớn, trong đó đối với các mô hình tiên tiến nhất, kích thước này đã đạt đến hàng trăm gigabyte, mà còn quản lý một loạt các yếu tố quan trọng khác. Các yếu tố này bao gồm phân bổ bộ nhớ cho trạng thái tối ưu hóa, quản lý độ dốc, kích hoạt tiến lên và hỗ trợ bộ nhớ tạm thời trong các giai đoạn khác nhau của quá trình đào tạo.
Phương pháp Additive (Phương pháp Tăng thêm)
Loại đào tạo này có thể bổ sung thêm các tham số hoặc lớp vào mô hình được đào tạo trước, 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 phương pháp này cải thiện hiệu suất về thời gian đào tạo và không gian. Phương pháp Additive được chia thành các loại phụ sau đây:
- Adapters: Bao gồm việc tích hợp các mạng kết nối đầy đủ nhỏ sau các lớp con của bộ biến áp, với các ví dụ đáng chú ý như AdaMix, KronA và Compactor.
- Soft Prompts: Đào tạo tinh chỉnh một phần của các vectơ nhúng đầu vào của mô hình thông qua gradient descent, với các ví dụ nổi bật như IPT, prefix-tuning và WARP.
- Các phương pháp Additive 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 (Selective Method)
Selective PEFTs fine-tune một số lượng hạn chế các lớp hàng đầu 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ư độ lệch của 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 (Reparametrization-based Method)
Các phương pháp này sử dụng các biểu diễn có hạng thấp để giảm số lượng tham số có thể huấn luyện, với phương pháp nổi tiếng nhất là Low-Rank Adaptation hoặc LoRA. Phương pháp này sử dụng một phân rã ma trận có hạng thấp đơn giản để thể hiện việc thay đổi tham số trọng số, thể hiện việc điều chỉnh hiệu quả trong các không gian có 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 của Edward J. Hu và những người khác vào năm 2021. Nó hoạt động trong phạm vi thể loại tái tham số hóa, đông băng trọng số gốc của LLM và tích hợp ma trận có hạng thấp có thể huấn luyện được vào từng lớp của kiến trúc Transformer. Phương pháp này không chỉ giảm số lượng tham số có thể huấn luyện mà còn giảm thiểu thời gian đào tạo và tài nguyên tính toán cần thiết, do đó trình bày một phương pháp hiệu quả hơn cho việc đào tạo đầy đủ.
Để hiểu cơ cấu của LoRA, người ta phải xem xét lại kiến trúc transformer, trong đó đầu vào của prompt trải qua quá trình mã hóa thành các vectơ nhúng. Các vectơ này đi qua các đoạn mã hóa và/hoặc giải mã của transformer, gặp phải mạng tự-chú ý và mạng truyền tiến có trọng số được đào tạo trước.
LoRA sử dụng khái niệm Phân rã giá trị đơn (SVD). Cơ bản, SVD phân tách một ma trận thành ba ma trận riêng biệt, trong đó một trong số đó là một ma trận chéo chứa các giá trị đơn. Các giá trị đơn này quan trọng vì chúng đo lường sự quan trọng của các chiều khác nhau trong các ma trận, với các giá trị lớn đề cập đến sự quan trọng cao hơn và các giá trị nhỏ đề cập đến sự quan trọng thấp hơn.
Phương pháp này cho phép LoRA duy trì các đặc điểm cơ bản 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 gốc và giới thiệu một cặp “ma trận phân rã hạng” cùng với trọng số gốc. Các ma trận nhỏ hơn này, được ký hiệu là A và B, trải qua quá trình đào tạo thông qua học giám sát.
Yếu tố quan trọng trong chiến lược này là tham số được gọi là hạng (‘r’), thể hiện kích thước của các ma trận hạng thấp. Việc lựa chọn cẩn thận của ‘r’ có thể mang lại kết quả ấn tượng, ngay cả với giá trị nhỏ, do đó tạo ra một ma trận hạng thấp với ít tham số cần huấn luyện. Chiến lược này đã được triển khai 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 đáng kể về hiệu suất.
2) QLoRA: Nâng Cao Hiệu Suất của LoRA
Xây dựng trên nền tảng của LoRA, QLoRA giảm yêu cầu bộ nhớ một cách nhanh chóng hơn. Được giới thiệu bởi Tim Dettmers và những người khác vào năm 2023, nó kết hợp sự thích nghi hạng thấp với quá trình quantization, sử dụng định dạng quantization 4 bit được gọi là NormalFloat hoặc nf4. Quantization cơ bản là quá trình chuyển đổi dữ liệu từ một biểu diễn thông tin cao hơn thành một biểu diễn với ít thông tin hơn. Phương pháp này duy trì tính hiệu quả của các phương pháp fine-tuning 16-bit, giải quantization từ 4-bit thành 16-bit khi cần thiết trong quá trình tính toán.
QLoRA tận dụng NumericFloat4 (nf4), mục tiêu của mỗi lớp trong kiến trúc transformer và giới thiệu khái niệm double quantization để thu nhỏ thêm dấu vết bộ nhớ cần thiết cho quá trình fine-tuning. Điều này được thực hiện bằng cách thực hiện quantization trên các hằng số đã quantized, một chiến lược ngăn chặn các đỉnh bộ nhớ kiểm tra gradient điển hình thông qua việc sử dụng các trình tối ưu hóa trang và quản lý bộ nhớ thống nhất.
Guanaco, là một tập hợp được điều chỉnh bằng QLORA, đặt ra một tiêu chuẩn trong các giải pháp chatbot mã nguồn mở. Hiệu suất của nó, được xác nhận thông qua đánh giá của con người và đánh giá tự động có hệ thống, làm nổi bật sự ưu việt và hiệu suất của nó trong lĩnh vực này.
Các phiên bản 65 tỷ và 33 tỷ của Guanaco, được điều chỉnh thông qua một phiên bản sửa đổi của tập dữ liệu OASST1, trở thành các đối thủ đáng gờm với các mô hình nổi tiếng như ChatGPT và thậm chí là GPT-4.
Đào tạo bằng cách Sử dụng Học Tăng Cường từ Phản hồi của Con Người
Học Tăng Cường từ Phản hồi của Con Người (RLHF) xuất hiện khi đào tạo các mô hình ngôn ngữ được đào tạo trước để tiếp cận gần hơn với các giá trị của con người. Khái niệm này đã được OpenAI giới thiệu vào năm 2017, đặt nền tảng cho việc tóm tắt tài liệu nâng cao 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 mà trong đó một tác nhân học cách thức hiện hành vi trong một môi trường bằng cách thực hiện các hành động và nhận phần thưởng. Đó là một chu trình liên tục của hành động và phản hồi, trong đó tác nhân được khuyến khích thực hiện lựa chọn sẽ mang lại phần thưởng cao nhất.
Chuyển đổi điều này vào lĩnh vực của các mô hình ngôn ngữ, tác nhân chính là mô hình chính nó, hoạt động trong môi trường của một cửa sổ ngữ cảnh cụ thể và đưa ra quyết định dựa trên trạng thái, được xác định bởi các mã thông báo 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 mã thông báo tiềm năng mà mô hình có thể chọn, với mục tiêu là chọn mã thông báo mà tương thích 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 một cách rộng rãi, sử dụng nó để đào tạo một mô hình thưởng. Mô hình này đóng một vai trò quan trọng trong 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 đầu ra gần hơn với giá trị của con người. Đây là một quá trình động và lặp đi lặp lại, trong đó mô hình học qua một loạt các “cuộc diễn ra,” một thuật ngữ được sử dụng để mô tả chuỗi trạng thái và hành động dẫn đến phần thưởng trong ngữ cảnh của việc tạo ra ngôn ngữ.
Một trong những tiềm năng đáng chú ý của RLHF là khả năng thúc đẩy tính cá nhân hóa trong các trợ lý AI, tùy chỉnh chúng để phù hợp với sở thích cá nhân của từng người dùng, cho dù đó là gu thẩm mỹ của họ hoặc thói quen hàng ngày. Nó mở ra cánh cửa để tạo ra các hệ thống AI không chỉ là chuyên nghiệp về mặt kỹ thuật mà còn có tính thông minh về mặt tình cảm, có khả năng hiểu và phản ứng đối với những sắc thái trong giao tiếp 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ó khả năng tạo ra các đầu ra không mong muốn, là một phản ánh của dữ liệu rộng lớn và thường không được kiểm soát và có thiên hướng thiên vị mà chúng được đào tạo trên đó.
Kết luận
Quá trình fine-tuning, một bước quan trọng trong việc tận dụng tối đa tiềm năng của các LLM như Alpaca, Falcon và GPT-4, đã trở nên tinh vi 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 nhiệm vụ đa dạng.
Chúng ta đã thấy sự phát triển của việc đào tạo đơn nhiệm vụ, chuyên về các mô hình trong các vai trò cụ thể, và các phương pháp Đào tạo Tham số Hiệu quả (PEFT) bao gồm LoRA và QLoRA, mục tiêu làm cho quá trình đào tạo trở nên hiệu quả và tiết kiệm chi phí. Những phát triển này đang mở cửa cho các chức năng trí tuệ nhân tạo cấp cao cho một đối tượng lớn hơn.
Hơn nữa, việc giới thiệu Reinforcement Learning from Human Feedback (RLHF) bởi Open AI là một bước tiến hướng đến việc tạo ra các hệ thống trí tuệ nhân tạo hiểu và sát nhập gần hơn với giá trị và sở thích của con người, đặt nền tảng cho các trợ lý AI không chỉ thông minh mà còn nhạy bén đối với nhu cầu cá nhân của từng người dùng. Cả RLHF và PEFT hoạt động cùng nhau để tăng cường tính năng và hiệu suất của các Mô hình Ngôn ngữ Lớn.
Khi doanh nghiệp, tổ chức và cá nhân đang tìm cách tích hợp những LLM được điều chỉnh tốt này vào hoạt động của họ, họ đang chào đón một tương lai trong đó trí tuệ nhân tạo không chỉ là một công cụ; 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á nhân hóa.
Aayush Mittal Trong suốt năm năm qua đắm chìm mình vào thế giới hấp dẫn của Machine Learning và Deep Learning. Niềm đam mê và kiến thức đã dẫn Mittal đóng góp vào hơn 50 dự án kỹ thuật phần mềm đa dạng, với một sự tập trung đặc biệt vào lĩnh vực AI/ML.