Connect with us

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 biệt

mm
LLM Fine tuning representation - Midjourney

Khi chúng ta đứng ở tháng 9 năm 2023, cảnh quan của Mô hình Ngôn ngữ Lớn (LLM) vẫn đang chứng kiến sự gia tăng 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 những LLM này nằm ở 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. Qua quá trình fine-tuning này, những mô hình này có thể thực sự phù hợp với các yêu cầu được cá nhân hóa, cung cấp các giải pháp vừa sáng tạo vừa phù hợp với nhu cầu độc đáo.

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 đăng ký trả phí, yêu cầu một khoản phí cao 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 bùng nổ với các giải pháp thay thế cung cấp một con đường tiếp cận dễ dàng hơn để khai thác sức mạnh của mô hình ngôn ngữ lớn. Những lựa chọn mã nguồn mở này 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à hòa nhập 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 việc 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 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 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ó mang lại khả năng đáng chú ý của LLM để 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.

Fine-tuning mô hình ngôn ngữ lớn mở ra nhiều cơ hội, cho phép chúng vượt trội 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ơ bản 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, tăng cường hiệu quả và độ chính xác của mô hình. Hơn nữa, nó tạo điều kiện cho việc sử dụng tài nguyên hệ thống một cách kinh tế hơn, vì fine-tuning đòi hỏi ít năng lực 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ề những phức tạp của 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ỳ sống của Trí tuệ Tạo sinh, đượ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 hướng dẫn, 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.

Generative AI Lifecycle - Fine Tuning, Prompt Engineering and RLHF

Generative AI Lifecycle – Fine Tuning

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 lớn hoặc luồng hội thoại, bao gồm tài liệu pháp lý và vé hỗ trợ khách hàng. Đáng chú ý, 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ụ, 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.

Single-Task Fine Tuning Example Illustration

Single-Task Fine Tuning Example Illustration

 

Cơ sở 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 bắt các yếu tố cơ bản cấu thành LLM. Tại trung tâm của những mô hình này là kiến trúc transformer, một mạng lưới thần kinh tận dụng cơ chế tự chú ý để ưu tiên ngữ cảnh của từ hơn sự gần gũi của chúng trong một câu. Cách tiếp cận đổi mới 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ều hướng qua những phức tạp của transformer, chúng ta gặp một quá trình nhiều bước bắt đầu với bộ mã hóa. Giai đoạn ban đầu này liên quan đến việc mã hóa token đầ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 liên quan đến một loạt các tính toán sử dụng các ma trận được gọi là Query, ValueKey, kết thúc với một điểm số tự chú ý 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.

Transformer Architecture

Transformer Architecture

Fine-tuning đứng như một giai đoạn quan trọng trong việc phát triển LLM, một quá trình đòi hỏi phải thực hiện các điều chỉnh tinh tế để đạt được đầu ra mong muốn. Giai đoạn này, trong khi quan trọng, trình bày một tập hợp các thách thức, bao gồm cả nhu cầu tính toán và lưu trữ để xử lý một số lượng lớn 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, do đó đơ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 mẽ

Trong các giai đoạn đầu của việc phát triển LLM, đào tạo trước chiếm vị trí trung tâm, sử dụng các transformer quá tham số hóa như kiến trúc cơ bản. Quá trình này liên quan đến việc mô hình hóa ngôn ngữ tự nhiên theo nhiều cách khác nhau như song hướng, tự hồi quy, hoặc tuần tự đến tuần tự trên các tập dữ liệu lớn không được giám sát. Mục tiêu ở đây là tạo ra một cơ sở 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ụ.

Pre-training, Fine-Tuning

Pre-training, Fine-Tuning

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 lường bằng số lượng tham số. Dữ liệu thực nghiệm một cách nhất quán 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 mang lại hiệu suất tốt hơn. Ví dụ, GPT-3, với 175 tỷ tham số, đã 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ụ zero-shot một cách thành thạo.

Fine-Tuning: Con đường đến Sự Thích nghi của Mô hình

Sau khi đào tạo trước, LLM trải qua fine-tuning để thích nghi với các nhiệm vụ cụ thể. Mặc dù hiệu suất đầy hứa hẹn được hiển thị bởi việc học trong ngữ cảnh trong các LLM đã được đào tạo trước như GPT-3, fine-tuning vẫn vượt trội trong các cài đặt cụ thể cho nhiệm vụ. Tuy nhiên, cách tiếp cận phổ biến của fine-tuning toàn bộ tham số trình bày các thách thức, bao gồm nhu 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 đơn tại độ 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 khác nhau bao gồm trạng thái tối ưu hóa và gradient, có thể đòi hỏi tới 80GB RAM của GPU cho một mô hình có quy mô này.

Để vượt qua giới hạn của RAM GPU, kỹ thuật lượng tử hóa được sử dụng, đó là một kỹ thuật giảm độ chính xác của các tham số mô hình, do đó giảm nhu cầu bộ nhớ. Ví dụ, 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.

LLM GPU Memory requirement wrt. number of parameters and precision

LLM GPU Memory requirement wrt. number of parameters and precision

 

Khám phá các Danh mục của Phương pháp PEFT

Trong quá trình fine-tuning hoàn toàn các Mô hình Ngôn ngữ Lớn, đ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 quá trình đào tạo.

Phương pháp Additive

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 phương pháp này tăng cường hiệu quả đào tạo và không gian. Phương pháp additive được chia thành các phân loại con:

  • Adapters: 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ú ý bao gồm AdaMix, KronA, và Compactor.
  • Soft Prompts: Fine-tuning một đoạn của mô hình nhúng đầu vào thông qua sự xuống dốc gradient, với IPT, prefix-tuning, và WARP là những ví dụ nổi bật.
  • 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 Chọn lọc

Các phương pháp PEFT chọn lọc fine-tune 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ộ. Danh mục này bao gồm các phương pháp như BitFitLN 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 Reparametrization

Những phương pháp này sử dụng các biểu diễn thấp hạng để 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 hoặc LoRA. Phương pháp này tận dụng một phân tích ma trận đơn giản để tham số hóa việc cập nhật trọng số, chứng tỏ fine-tuning hiệu quả trong các không gian con thấp hạng.

1) LoRA (Low-Rank Adaptation)

LoRA xuất hiệ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 tác giả khác vào năm 2021. Nó hoạt động trong phạm trù reparameterization, đóng băng các trọng số ban đầu của LLM và tích hợp các ma trận thấp hạng mới có thể đào tạo 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 đó trình bày một giải pháp thay thế hiệu quả hơn cho fine-tuning hoàn toàn.

Để hiểu cơ chế của LoRA, một người phải quay lại kiến trúc transformer nơi đầu vào prompt trải qua quá trình mã hóa token 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 mạng lưới tự chú ý và mạng lưới tiến hành, trong đó trọng số đã được đào tạo trước.

LoRA sử dụng khái niệm Phân tích Giá trị Độc nhất (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 chéo chứa các giá trị đặc biệt. Những giá trị đặc biệt 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.

Singular Value Decomposition (SVD) of an m × n rectangular matrix

Singular Value Decomposition (SVD) of m × n Matrix

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, do đó tối ưu hóa quá trình fine-tuning.

LoRA can thiệp vào quá trình này, đó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 số ban đầu. Những ma trận nhỏ này, được ký hiệu là A và B, trải qua quá trình đào tạo thông qua học tập 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’), quyết định kích thước của các ma trận thấp hạng. Việc lựa chọn cẩn thận ‘r’ có thể mang lại kết quả ấn tượng, ngay cả với giá trị nhỏ hơn, do đó tạo ra một ma trận thấp hạng với ít tham số để đà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, tạo điều kiện cho việc fine-tuning LoRA cho các nhiệm vụ khác nhau với hiệu quả đáng chú ý.

2) QLoRA: Đưa Hiệu quả của LoRA lên cao hơn

Xây dựng trên cơ sở được đặt ra bởi LoRA, QLoRA giảm thiểu hơn nữa nhu cầu bộ nhớ. Được giới thiệu bởi Tim Dettmers và các tác giả khác vào năm 2023, nó kết hợp sự thích nghi thấp hạng với lượng tử hóa, sử dụng định dạng lượng tử 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 hơn 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ử các trọng số 4-bit thành 16-bit khi cần thiết trong quá trình tính toán.

Comparing finetuning methods: QLORA enhances LoRA with 4-bit precision quantization and paged optimizers for memory spike management

Comparing finetuning methods: QLORA enhances LoRA with 4-bit precision quantization and paged optimizers for memory spike management

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ử kép để thu hẹp thêm dấu chân bộ nhớ cần thiết cho 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ố đã 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 điểm kiểm tra gradient thông qua việc sử dụng các tối ưu hóa có trang và quản lý bộ nhớ thống nhất.

Guanaco, là một tập hợp QLORA-tuned, thiết lập một tiêu chuẩn 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 fine-tune sử dụng một phiên bản sửa đổi của tập dữ liệu OASST1, xuất hiệ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 bằ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) tham gia khi 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 nền tảng cho việc tóm tắt tài liệu nâng cao và sự phát triển của InstructGPT.

Tại trung tâm của RLHF là khuôn khổ học tăng cường, một loại kỹ thuật học máy trong đó một agent 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 độngphản hồi, nơi agent được khuyến khích đưa ra quyết định sẽ mang lại phần thưởng cao nhất.

Dịch chuyển điều này sang lĩnh vực mô hình ngôn ngữ, agent 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ữ được sử dụng để mô tả chuỗi các trạng thái và hành động dẫn đến một phần thưởng trong ngữ cảnh của việc 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 tính 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 của họ. 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 các sắc thái trong giao tiếp của con người.

Tuy nhiên, điều quan trọng cần lưu ý là RLHF không phải là một giải pháp không có sai sót. Các mô hình vẫn có thể tạo ra các đầu ra không mong muốn, phản ánh dữ liệu rộng lớn và thường không được kiểm soát và có thiên vị 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 các vai trò cụ thể, và các phương pháp 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 khán giả rộng lớn hơn.

Hơn nữa, việc giới thiệu Học tă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 hướng tới việc tạo ra các hệ thống AI hiểu và phù hợp hơn với các giá trị và sở thích của con người, đặt ra sân khấu 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 Mô hình Ngôn ngữ Lớn.

Khi các doanh nghiệp, doanh nghiệp 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ụ; 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 vừa sáng tạo vừa được cá nhân hóa.

Tôi đã dành 5 năm qua để đắm mình trong thế giới hấp dẫn của Máy học và Học sâu. Đam mê và chuyên môn của tôi đã dẫn tôi đến việc đóng góp vào hơn 50 dự án kỹ thuật phần mềm đa dạng, với trọng tâm đặc biệt là AI/ML. Sự tò mò liên tục của tôi cũng đã thu hút tôi đến Xử lý Ngôn ngữ Tự nhiên, một lĩnh vực tôi渴望 khám phá thêm.