Khám Phá LoRA: Giải Pháp Tiết Kiệm Chi Phí Cho Việc Fine-Tuning LLM

04/10/2026    5    5/5 trong 1 lượt 
Khám Phá LoRA: Giải Pháp Tiết Kiệm Chi Phí Cho Việc Fine-Tuning LLM
Trong thế giới AI, tối ưu hóa mô hình ngôn ngữ lớn (LLM) là một thách thức đáng kể về chi phí và tài nguyên. Phương pháp Low-Rank Adaptation (LoRA) và Parameter Efficient Fine-Tuning (PEFT) đã nổi lên như là giải pháp tiềm năng, giảm thiểu chi phí mà vẫn duy trì hiệu suất cao. Bài viết này sẽ khám phá sâu sắc các khía cạnh của LoRA và PEFT.

LoRA là gì?

Khám phá khái niệm Low-Rank Adaptation (LoRA) trong lĩnh vực trí tuệ nhân tạo, ta nhận thấy rằng đây là một phương pháp tiên tiến mang lại nhiều lợi ích đáng kể trong việc đào tạo mô hình ngôn ngữ lớn. Việc fine-tuning các mô hình như vậy thường tốn kém cả về thời gian và tài nguyên. Tuy nhiên, với LoRA, quá trình này được tối ưu hóa đáng kể, giúp tiết kiệm chi phí.

Low-Rank Adaptation đề cập đến việc sử dụng các ma trận có hạng thấp để thích ứng mô hình AI mà không yêu cầu cập nhật toàn bộ tham số của mô hình. Trong toán học, "hạng thấp" là khái niệm liên quan đến số lượng vectơ độc lập tuyến tính chiếm một không gian nhất định trong ma trận. Bằng cách sử dụng ma trận hạng thấp, LoRA cho phép chúng ta điều chỉnh mô hình lớn mà không cần thay đổi tất cả các trọng số của nó.

Với cách tiếp cận này, LoRA không chỉ giúp giảm đáng kể chi phí tính toán mà còn tăng hiệu quả fine-tuning, duy trì hoặc thậm chí cải thiện độ chính xác của mô hình. Đặc biệt, trong bối cảnh các mô hình ngôn ngữ lớn như GPT-3 và BERT yêu cầu nguồn lực lớn, việc áp dụng LoRA có thể là một giải pháp hiệu quả để cân bằng giữa tài nguyên và hiệu quả.

Khi nhắc đến top module, thuật ngữ adapter AI thường xuất hiện cùng với LoRA. Adapter là các module nhỏ được cắm vào các layer của mạng nơ-ron để điều chỉnh mạng cho một nhiệm vụ cụ thể mà không phải đào tạo lại toàn bộ mạng từ đầu. Điều này giúp giảm thiểu mức độ khó khăn trong việc fine-tuning, chính yếu tố được LoRA khai thác triệt để.

Với LoRA, khả năng đa nhiệm của mô hình cũng được nâng cao. Ngược lại với phương pháp fine-tuning truyền thống, yêu cầu thay đổi và lưu trữ nhiều phiên bản mô hình khác nhau, LoRA cho phép mô hình xử lý nhiều tác vụ khác nhau chỉ trong một mô hình duy nhất. Điều này cắt giảm không chỉ chi phí lưu trữ mà còn cả labor costs và redundancy.

Ngoài ra, quá trình LoRA fine tuning còn tận dụng tối đa các thành phần không quan trọng trong quá trình đào tạo mô hình. Với cách tiếp cận thông minh này, LoRA giúp bảo vệ và kiên trì về tài nguyên tính toán, rất cần thiết trong thời đại hiện nay khi nhu cầu về ứng dụng AI càng ngày càng tăng.

Sự hòa quyện của khái niệm hạng thấp trong toán học với Adapter AI đã tạo nên một parameter efficient tuning, điều mà không hề dễ dàng đạt được với phương pháp fine-tuning truyền thống. LoRA trở thành lựa chọn hàng đầu cho các tổ chức tìm kiếm một giải pháp hiệu quả, tiết kiệm.

Như vậy, với những lợi ích to lớn mà LoRA mang lại, không khó để hiểu tại sao nó đang trở thành một xu hướng được nhiều nhà nghiên cứu và doanh nghiệp quan tâm, đặc biệt khi đi sâu vào ứng dụng trong mô hình ngôn ngữ lớn.


Vì sao Fine-Tuning LLM tốn kém?

Bước tiếp theo trong việc tìm hiểu về Low-Rank Adaptation chính là làm rõ các yếu tố khiến quá trình fine-tuning các mô hình ngôn ngữ lớn (LLM) trở nên tốn kém. Để có thể tinh chỉnh một mô hình ngôn ngữ lớn hiệu quả, chúng ta cần xem xét một loạt các yếu tố cơ bản từ xử lý dữ liệu lớn, cấu hình phần cứng đắt tiền đến thời gian xử lý kéo dài. Việc hiểu rõ những nguyên nhân này sẽ giúp các nhà nghiên cứu cũng như doanh nghiệp tối ưu hóa chi phí mà không làm giảm hiệu suất mô hình.

Đầu tiên, một trong những lý do chính khiến fine-tuning LLM trở nên đắt đỏ là do khối lượng dữ liệu khổng lồ cần thiết để đào tạo mô hình. Các LLM thường được huấn luyện trên bộ dữ liệu có kích thước lên đến hàng TB, thậm chí PB. Việc quản lý và xử lý lượng lớn dữ liệu này đòi hỏi hệ thống lưu trữ và băng thông mạng đáng kể, dẫn đến chi phí gia tăng.

Điều này kéo theo yêu cầu cấu hình phần cứng mạnh mẽ để đáp ứng nhu cầu xử lý khổng lồ. Các mô hình ngôn ngữ lớn thường cần sử dụng GPU (Graphics Processing Unit) hay TPU (Tensor Processing Unit) với sức mạnh tính toán cao để thực hiện quá trình fine-tuning. Giá thành của các phần cứng này không rẻ và chi phí tiêu thụ năng lượng cũng là một yếu tố cần xem xét. Không chỉ chí phí đầu tư ban đầu mà duy trì và vận hành cũng không hề nhỏ.

Thời gian là một nhân tố khác làm tăng chi phí fine-tuning. Các mô hình quy mô lớn cần rất nhiều thời gian để đào tạo từ đầu hoặc thậm chí để fine-tuning, điều này làm kéo dài thời gian triển khai ứng dụng thực tế. Trong môi trường kinh doanh cạnh tranh, thời gian càng lâu thì cơ hội thị trường càng mất đi.

Do các yếu tố nêu trên, việc tối ưu hóa chi phí trong fine-tuning những mô hình ngôn ngữ lớn là rất cần thiết. Các kỹ thuật như Low-Rank Adaptation (LoRA) trở thành một giải pháp tuyệt vời khi chúng cho phép giảm số lượng tham số cần điều chỉnh, từ đó giảm bớt tài nguyên phần cứng và thời gian cần thiết trong quá trình tinh chỉnh mô hình.

Tối ưu hóa chi phí này không chỉ có lợi ích về mặt tài chính mà còn mở ra cơ hội cho nhiều tổ chức nhỏ hơn tham gia vào cuộc đua AI, trước đây chỉ có những tập đoàn lớn mới đủ khả năng tham gia. Các nghiên cứu và ứng dụng có quy mô lớn giờ đây có thể được thực hiện với kinh phí thấp hơn nhiều, giúp cho AI đến gần hơn với thực tiễn.


Low-Rank Matrix

Trong lĩnh vực học sâu và trí tuệ nhân tạo, một trong những thách thức lớn nhất là làm thế nào để giảm thiểu chi phí tính toán và tài nguyên mà không làm giảm hiệu suất của mô hình. Ma trận hạng thấp (Low-Rank Matrix) là một trong những giải pháp tối ưu để đạt được điều này trong quá trình điều chỉnh mô hình không chỉ ở quy mô nhỏ mà còn trong các Hệ Thống Ngôn Ngữ Lớn (LLM). Trước khi đi vào chi tiết cách giải pháp này hoạt động, chúng ta cần hiểu rõ về đặc điểm và vai trò của ma trận hạng thấp trong công nghệ LoRA.

Ma trận hạng thấp là một ma trận mà hạng của nó (rank) nhỏ hơn so với kích thước chiều của ma trận. Điều này có nghĩa là chỉ cần một số ít thông tin để mô tả ma trận, do đó giúp giảm thiểu số lượng tham số cần thiết để xây dựng và duy trì hoạt động của mô hình. Chính sự giảm thiểu này cho phép mô hình hoạt động hiệu quả hơn mà không đòi hỏi quá nhiều bộ nhớ và năng lượng tính toán.

Bên trong công nghệ LoRA, việc áp dụng ma trận hạng thấp giúp tối ưu hóa số lượng tham số mà một mô hình ngôn ngữ yêu cầu. Thay vì điều chỉnh toàn bộ mô hình, chúng ta chỉ cần điều chỉnh một phần của nó thông qua một biểu diễn gần chính xác nhưng tiết kiệm hơn của ma trận hạng cao thành một ma trận hạng thấp. Cách tiếp cận này không chỉ giúp giảm thiểu bộ nhớ tiêu thụ mà còn tăng tốc quá trình tinh chỉnh.

Hãy tưởng tượng, trong một mô hình ngôn ngữ lớn điển hình, việc lưu giữ và tính toán các ma trận trọng số có thể là một thách thức cực kỳ lớn. Với cách tiếp cận của LoRA, ta có thể tách các bước của một ma trận trọng số phức tạp thành một cặp ma trận xấp xỉ hạng thấp, ví dụ như từ ma trận A có kích thước mệt mỏi n x m xuống hai ma trận A1 và A2 kích thước nhỏ hơn, chẳng hạn như n x k và k x m, trong đó k << min(n, m).

Áp dụng kỹ thuật này còn cho phép dễ dàng tích hợp với nhiều phương pháp tối ưu khác như phương pháp Adapter AI - một kỹ thuật khác trong việc tuning tham số hiệu quả - dẫn đến việc xử lý các mô hình ngôn ngữ lớn như BERT, GPT-3, hay T5 trở nên khả thi hơn nhiều. Một lợi thế lớn của việc sử dụng ma trận hạng thấp trong LoRA là chúng ta có thể điều chỉnh các mô hình lớn với khả năng lưu trữ và tính toán hạn chế nhưng vẫn giữ được sự chính xác và hiệu quả.

Ví dụ, trong một bài toán phân loại văn bản sử dụng mô hình BERT, thay vì thực hiện fine-tuning trên toàn bộ mô hình với hàng triệu tham số, chỉ cần áp dụng ma trận hạng thấp vào một vài lớp quan trọng trong mô hình. Điều này không chỉ giảm bớt tính phức tạp của mô hình mà còn cho phép kết hợp các tính năng bổ sung mà không khiến mô hình trở nên quá tải.

Sử dụng ma trận hạng thấp trong LoRA chính là một bước đột phá trong việc tối ưu hóa các mô hình ngôn ngữ lớn - giúp chúng hoạt động một cách hiệu quả nhất cả về thời gian, tài nguyên và chi phí. Để có thể áp dụng thành công kỹ thuật này, việc hiểu rõ và biết cách sử dụng ma trận hạng thấp là điều không thể thiếu đối với các nhà nghiên cứu và phát triển công nghệ AI hiện đại.


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

Cơ chế hoạt động của Low-Rank Adaptation (LoRA) thực sự là một sự kết hợp thông minh giữa việc tiết kiệm tài nguyên và tối ưu hóa hiệu suất của mô hình ngôn ngữ lớn (LLM). Để hiểu rõ cách LoRA hoạt động, chúng ta sẽ đi sâu vào cách LoRA thiết lập và tối ưu hóa quá trình fine-tuning của LLM.

Để bắt đầu, LoRA áp dụng kỹ thuật ma trận hạng thấp đã được giới thiệu trong chương trước. Điểm then chốt của phương pháp này nằm ở việc sử dụng ma trận có hạng thấp để xây dựng các thang đo nhỏ hơn mà mô hình có thể học được mà không cần thay đổi toàn bộ trọng số.

LoRA tận dụng lợi thế của ma trận hạng thấp để xác định một không gian nhỏ nơi các điều chỉnh nhỏ có thể tạo ra sự khác biệt lớn. Điều này không chỉ giúp giảm số lượng tham số cần tinh chỉnh mà còn giúp duy trì cấu trúc và kiến thức ban đầu của mô hình gốc. Bằng cách làm giảm số lượng tham số này, LoRA có thể cắt giảm đáng kể chi phí và thời gian cho quá trình fine-tuning, đồng thời vẫn cải thiện hoặc duy trì hiệu suất của mô hình.

Một trong những đặc điểm nổi bật của LoRA là khả năng lắp đặt dễ dàng. Khi một mô hình AI lớn đã qua quá trình tiền huấn luyện mở rộng, việc thêm vào một adapter nhỏ (như LoRA) thường chỉ cần vài ngàn tham số, trái ngược với hàng triệu tham số trong các mô hình ngôn ngữ truyền thống.

LoRA cũng nổi bật bằng việc nó chỉ cần điều chỉnh các phần rất riêng biệt của mô hình trong khi để nguyên phần còn lại. Điều này không chỉ mang lại hiệu suất tốt hơn mà còn bảo vệ mô hình khỏi việc mất đi thông tin quan trọng đã học ở giai đoạn trước đó.

Ngoài ra, LoRA còn cung cấp khả năng dễ dàng tổng hợp. Với khả năng kết hợp nhiều phiên bản khác nhau mà không cần phải huấn luyện lại toàn bộ mô hình, người dùng có thể dễ dàng điều chỉnh các mô hình để phù hợp với những yêu cầu khác nhau mà không cần đầu tư nhiều thời gian hoặc chi phí.

Cuối cùng, LoRA cũng mở rộng khả năng của PEFT (Parameter Efficient Fine-Tuning). So với các phương pháp tinh chỉnh truyền thống đòi hỏi huấn luyện lại từ đầu với toàn bộ tham số mô hình, LoRA chỉ yêu cầu điều chỉnh một lượng nhỏ trong khi vẫn đạt được hiệu suất cao.

Như vậy, bằng cách sử dụng LoRA, chúng ta có một giải pháp tối ưu để thực hiện fine-tuning cho LLM, giảm mạnh chi phí và thời gian mà vẫn duy trì được chất lượng mô hình. Hơn thế nữa, cách tiếp cận này mang lại sự linh hoạt và khả năng ứng dụng rộng rãi trong nhiều trường hợp khác nhau, từ ứng dụng cho doanh nghiệp đến nghiên cứu khoa học.


Rank

Trong bối cảnh điều chỉnh thích nghi hạng thấp, khái niệm 'rank' (hạng) đóng một vai trò cực kỳ quan trọng trong việc xác định hiệu quả và khả năng thích ứng của ma trận. 'Rank' đề cập đến số chiều độc lập của ma trận, hay nói cách khác, số lượng hàng hoặc cột độc lập tuyến tính mà ma trận có. Điều này có thể được hình dung như là mức chịu lực của ma trận, nơi mà hạng càng thấp, ma trận càng ít chịu lực hơn.

'Rank' được áp dụng trong Low-Rank Adaptation (LRA) như một cách để giảm số lượng tham số cần thiết khi điều chỉnh các mô hình ngôn ngữ lớn (LLM). Điều này đạt được thông qua việc giảm thiểu cấu trúc ma trận của các lớp đã học, từ đó giữ lại những thông tin quan trọng nhất trong khi loại bỏ những gì không cần thiết. Kết quả là, mô hình có thể duy trì hiệu suất cao mà không yêu cầu điều chỉnh một lượng lớn tham số như trong các phương pháp truyền thống.

Việc lựa chọn 'rank' phù hợp là một phần quan trọng trong quá trình tối ưu hóa mô hình. Một 'rank' quá cao có thể dẫn đến việc mô hình trở nên phức tạp và kém hiệu quả, trong khi một 'rank' quá thấp có thể khiến mô hình thiếu khả năng thể hiện đầy đủ các thông tin cần thiết. Do đó, việc cân nhắc 'rank' là cần thiết để đạt được sự cân bằng giữa mức độ phức tạp của mô hình và khả năng tổng quát của nó.

Hiểu rõ hơn về cách 'rank' hoạt động trong LRA, ta có thể liên hệ với các phương pháp giảm chiều dữ liệu như Phân tích Giá trị Đơn (Singular Value Decomposition - SVD), nơi mà 'rank' đóng vai trò xác định độ nén của ma trận mà không làm mất đi thông tin thiết yếu. Điều này cũng tương tự trong LRA, nơi mà 'rank' quyết định số lượng tương quan độc lập cần giữ lại để duy trì hiệu suất của mô hình trong quá trình fine-tuning.

Trong quá trình triển khai thực tế, 'rank' được xác định dựa trên sự thử nghiệm và đánh giá lặp lại. Đây là một quá trình không ít khó khăn, nhưng vô cùng cần thiết để đạt được hiệu suất tối ưu trong khi sử dụng tài nguyên một cách hiệu quả nhất. Đặc biệt trong lĩnh vực AI và học sâu, việc nắm vững cách thức mà 'rank' hoạt động có thể cung cấp một cái nhìn sâu sắc và hứa hẹn cho các giải pháp tối ưu hóa mô hình trong tương lai.

Điều đáng chú ý là việc hiểu và quản lý tốt 'rank' không chỉ giúp giảm thiểu chi phí tính toán mà còn tăng khả năng triển khai linh hoạt và nhanh chóng đối với các mô hình AI lớn. Đặc biệt khi tác động của nó được kết hợp với các tham số khác như Alpha, khả năng điều chỉnh và tối ưu hóa mô hình sẽ trở nên mạnh mẽ hơn bao giờ hết.


Alpha: Làm sáng tỏ vai trò của tham số Alpha trong LoRA

Trong ngữ cảnh của Low-Rank Adaptation (LoRA), tham số Alpha đóng vai trò quan trọng trong quá trình tối ưu hóa mô hình ngôn ngữ lớn (LLM). Alpha không chỉ ảnh hưởng trực tiếp đến việc điều chỉnh mô hình mà còn quyết định hiệu suất tổng thể của nó. Đây là một trong những tham số thiết yếu khi thực hiện fine-tuning, đặc biệt trong các phương pháp Parameter Efficient Tuning (PEFT) như LoRA.

Alpha thường được coi là hệ số điều chỉnh, kiểm soát mức độ thay đổi mà một mô hình có thể chấp nhận trong một vòng iteration. Như đã thảo luận trong chương trước về 'rank,' Alpha cũng góp phần xác định độ phức tạp của ma trận low-rank đang được sử dụng trong LoRA.

Khi thực hiện fine-tuning, một giá trị Alpha hợp lý đảm bảo rằng ma trận low-rank có thể điều chỉnh đủ để mô hình tiếp cận các dữ liệu mới mà không làm mất đi khả năng tổng quát hóa vốn có của nó. Đây là một trong những yếu tố tạo nên ưu điểm của LoRA so với phương pháp fine-tuning thông thường.

Hãy tưởng tượng Alpha là một bộ lọc, có chức năng rõ ràng là hạn chế hoặc mở rộng bậc tự do khi bộ mô hình thực hiện các phép tính bên trong. Việc chọn giá trị Alpha không chỉ ảnh hưởng đến khả năng tinh chỉnh của mô hình, mà còn quyết định khả năng duy trì kiến thức đã học trước đó của mô hình.

Một điểm đáng chú ý khác là Alpha có thể được điều chỉnh để phù hợp với từng loại dữ liệu đầu vào cụ thể. Điều này giúp tối ưu hóa hiệu suất của mô hình trong từng trường hợp sử dụng cụ thể. Nếu Alpha quá cao, mô hình có thể quá phù hợp với dữ liệu mới và mất khả năng dự đoán chính xác dữ liệu thực tế. Ngược lại, nếu Alpha quá thấp, mô hình có thể không tận dụng hết khả năng phân biệt của dữ liệu mới.

Thử nghiệm với các giá trị khác nhau của Alpha giúp tìm ra sự cân bằng giữa việc giữ lại kiến thức cũ và học hỏi từ dữ liệu mới. Việc chọn lựa Alpha một cách cẩn thận cũng giúp ngăn chặn overfitting hoặc underfitting trong mô hình.

Trong bối cảnh LoRA, Alpha đóng vai trò như một công cụ tinh chỉnh vô cùng mạnh mẽ, khi người dùng có thể tận dụng nó để điều chỉnh mô hình mà không cần thay đổi cấu trúc tổng thể hoặc tạo ra sự thay đổi lớn trong tham số đã huấn luyện trước. Đây là một trong những điểm nổi bật làm cho LoRA trở thành một giải pháp tiết kiệm chi phí và hiệu quả cao đối với việc fine-tuning các mô hình ngôn ngữ lớn hiện nay.

Với vai trò quan trọng của mình, Alpha không chỉ đơn thuần là tham số kỹ thuật mà là yếu tố quyết định sự thành công của quá trình fine-tuning với LoRA.


Adapter

Trong bối cảnh phát triển trí tuệ nhân tạo (AI) hiện đại, khái niệm "adapter" đã trở thành một phần không thể thiếu trong quá trình tinh chỉnh mô hình AI mà không cần thay đổi cấu trúc gốc của nó. Adapter đóng vai trò quan trọng trong kỹ thuật PEFT (Parameter Efficient Fine-Tuning), giúp các nhà nghiên cứu và phát triển tối ưu hóa các mô hình ngôn ngữ lớn (LLM) với hiệu quả cao và chi phí thấp.

Adapter hoạt động như một lớp phụ thêm vào mô hình ban đầu, cho phép mô hình này thực hiện những tác vụ mới hoặc cải thiện hiệu suất trên một hoặc nhiều tác vụ sẵn có. Không giống như các phương pháp tinh chỉnh thông thường, vốn yêu cầu cập nhật toàn bộ tham số của mô hình, adapter chỉ thêm các tham số cần thiết để điều chỉnh mô hình cho một tác vụ cụ thể mà không thay đổi phần lớn kết cấu ban đầu của mô hình.

Một trong những ưu điểm nổi bật của adapter là khả năng duy trì hiệu quả hoạt động của mô hình ban đầu trong khi vẫn cho phép mở rộng hoặc tùy chỉnh theo yêu cầu của từng ứng dụng cụ thể. Adapter có thể được cấu trúc dưới dạng các lớp dành riêng, thường nằm giữa các lớp cần điều chỉnh, nhằm giảm tải cho các tham số cần tinh chỉnh và tăng cường khả năng tổng quát hóa của mô hình ngôn ngữ lớn.

Trong bối cảnh của PEFT, adapter được sử dụng kết hợp với các tham số như Alpha (đã được thảo luận trong chương trước) để điều khiển việc học và ảnh hưởng đến hiệu suất của hệ thống. Cụ thể hơn, thông qua việc tinh chỉnh chỉ một tập hợp nhỏ các tham số, adapter có thể nâng cao hiệu suất học tập của mô hình mà không cần phải điều chỉnh toàn bộ tham số. Chính điều này giúp giảm lưu lượng tính toán cần thiết và tiết kiệm chi phí cho việc vận hành mô hình.

Hiểu biết sâu sắc về cách adapter hoạt động giúp đảm bảo quá trình fine-tuning hiệu quả mà vẫn bảo toàn được khả năng tái sử dụng mô hình gốc. Điều này đặc biệt quan trọng trong môi trường nghiên cứu và thực tiễn, nơi mà chi phí và hiệu quả luôn là những yếu tố cần được tối ưu hóa.

Việc sử dụng adapter không chỉ mang lại hiệu quả kinh tế mà còn tạo cơ sở cho khả năng linh hoạt và thích ứng trong phát triển các ứng dụng AI. Bằng cách chỉ điều chỉnh cần thiết đối với những phần của mô hình liên quan đến tác vụ mới hoặc cải tiến, ta có thể dễ dàng mở rộng phạm vi ứng dụng của các hệ thống học sâu lớn mà không cần tài nguyên quá nhiều.

Adapter thường được tối ưu hóa qua việc điều chỉnh các ma trận cấp thấp (low-rank matrix), một kỹ thuật vốn dĩ đã được áp dụng trong contextual embedding. Khía cạnh này sẽ tiếp tục được bàn sâu hơn khi so sánh với phương pháp full fine-tuning trong chương tiếp theo, giúp người đọc có cái nhìn rõ hơn về lợi ích và nhược điểm của từng phương pháp, từ đó chọn lựa cách tiếp cận phù hợp nhất cho từng trường hợp cụ thể.


LoRA vs Full Fine-Tuning

Trong quá trình tối ưu hóa các mô hình ngôn ngữ lớn (LLM), có rất nhiều phương pháp được áp dụng với mục đích tinh chỉnh và cải thiện hiệu suất của mô hình. LoRA (Low-Rank Adaptation) và full fine-tuning là hai trong nhiều kỹ thuật đang được sử dụng rộng rãi. Dù cùng hướng đến một mục tiêu chung, hai phương pháp này có những khác biệt rõ rệt về hiệu quả, chi phí và mức độ thay đổi mô hình.

Hiệu suất và Hiệu quả

LoRA được phát triển với mục tiêu tối ưu hóa hiệu suất của mô hình bằng cách chỉ cần điều chỉnh một số thông số nhỏ so với tổng thể mô hình. Phương pháp này giảm đáng kể lượng tài nguyên cần thiết, đặc biệt phù hợp khi chỉ có một lượng dữ liệu hạn chế hoặc khi cần nhanh chóng thử nghiệm nhiều ý tưởng khác nhau. Trái lại, full fine-tuning yêu cầu điều chỉnh toàn bộ thông số của mô hình, đòi hỏi rất nhiều tài nguyên và công sức.

Chi phí đào tạo

Chi phí là một yếu tố quan trọng khi lựa chọn phương pháp tinh chỉnh. Với LoRA, chi phí giảm đáng kể bởi chỉ cần điều chỉnh một phần nhỏ của mô hình. Điều này làm giảm tải cho phần cứng và tiết kiệm thời gian xử lý. Full fine-tuning, ngược lại, cần nhiều thời gian và tài nguyên hơn, do đó chi phí tổng thể cao hơn đáng kể.

Mức độ thay đổi của mô hình

Khi nói đến mức độ can thiệp vào mô hình, LoRA giữ mức thay đổi ở mức tối thiểu. Bằng cách chỉ tinh chỉnh các ma trận hạng thấp, LoRA duy trì cấu trúc gốc của mô hình trong khi tăng cường khả năng vận hành của nó. Full fine-tuning lại thay đổi toàn bộ mô hình, điều này đôi khi có thể dẫn đến việc mô hình trở nên kém ổn định hơn nếu không được thực hiện một cách cẩn thận.

Lợi ích và Hạn chế

LoRA nổi bật với khả năng tiết kiệm tài nguyên và thời gian, điều này rất hữu ích khi cần nhanh chóng thử nghiệm hoặc triển khai mô hình trong môi trường hạn chế về tài nguyên. Tuy nhiên, nhược điểm của nó là không phải lúc nào cũng đạt được mức độ tối ưu như full fine-tuning trong các nhiệm vụ phức tạp. Full fine-tuning, mặc dù tốn kém hơn, lại có khả năng đạt đến mức độ chính xác cao hơn do có thể tối ưu hóa toàn bộ mô hình.

Khi nào nên sử dụng?

Quyết định giữa việc sử dụng LoRA hay full fine-tuning thường phụ thuộc vào các yếu tố như tài nguyên có sẵn, thời gian cần thiết để đạt được kết quả và độ phức tạp của nhiệm vụ. LoRA phù hợp cho các ứng dụng cần phát triển và triển khai nhanh chóng, trong khi full fine-tuning nên được xem xét khi cần một mức độ chính xác cao nhất có thể trong nhiệm vụ cụ thể.


LoRA vs Prompt Tuning

Khi tối ưu hóa các mô hình ngôn ngữ lớn (LLM), có hai phương pháp đáng chú ý là LoRA (Low-Rank Adaptation) và Prompt Tuning. Cả hai tiếp cận này đều nhằm mục đích tiết kiệm chi phí và tăng cường hiệu suất học tập của mô hình. Tuy nhiên, mỗi phương pháp lại có những đặc điểm riêng biệt, mang lại các ưu và nhược điểm khác nhau. Trước khi đi sâu vào những khác biệt cụ thể, điều quan trọng là chúng ta phải hiểu rõ cách mà LoRA và Prompt Tuning hoạt động.

LoRA nhằm giảm thiểu số lượng tham số cần được điều chỉnh bằng cách phân tách ma trận trọng số thành hai ma trận cấp thấp hơn mà không cần phải cập nhật toàn bộ mô hình. Điều này cho phép nó duy trì hiệu suất mô hình trong khi giảm thiểu chi phí đào tạo một cách đáng kể. Ngược lại, Prompt Tuning hoạt động bằng cách bổ sung các đoạn text vào đầu đầu vào của mô hình để hướng dẫn mô hình trả lời theo một cách nhất định. Cả hai phương pháp này đều có chung mục tiêu là điều chỉnh mô hình một cách hiệu quả hơn, nhưng cách tiếp cận của chúng lại khác nhau.

Một trong những ưu điểm nổi bật của LoRA là khả năng duy trì sự chính xác của mô hình gần như nguyên vẹn trong khi giảm thiểu việc thay đổi tham số. Điều này làm giảm đáng kể chi phí tính toán và tăng khả năng mở rộng của mô hình. Ngược lại, Prompt Tuning có thể không yêu cầu thay đổi bất kỳ tham số bên trong nào, nhưng nó phụ thuộc nhiều vào độ dài và tính phức tạp của prompt, có thể dẫn đến các kết quả kém ổn định hơn trong một số trường hợp.

So sánh về mặt chi phí và hiệu quả, LoRA thường có chi phí tính toán thấp hơn do số lượng tham số điều chỉnh nhỏ hơn. Tuy nhiên, Prompt Tuning có thể được triển khai nhanh hơn trong một số tình huống khi cần điều chỉnh mô hình cho các nhiệm vụ cụ thể mà không cần đụng đến cấu trúc mô hình chính. Việc này giúp tiết kiệm thời gian, nhưng nếu không được thực hiện đúng, nó có thể gây ra sự phân tử không mong muốn trong cách mô hình học.

Về mặt học tập, LoRA cung cấp một lợi ích rõ ràng khi cần tối ưu hóa cho nhiều nhiệm vụ mà không đòi hỏi tài nguyên nặng nề. Prompt Tuning, mặc dù đôi khi ít quyền lực hơn trong việc sửa đổi sâu các đặc điểm của mô hình, lại linh hoạt và dễ dàng triển khai cho các nhiệm vụ cụ thể hoặc ngữ cảnh cụ thể mà không cần đào tạo lại toàn bộ mô hình.

Trong môi trường thực tiễn, lựa chọn giữa LoRA và Prompt Tuning phụ thuộc nhiều vào nhu cầu cụ thể của dự án. Nếu mục tiêu là tối ưu hóa sâu sắc mô hình cho nhiều nhiệm vụ mà không chi tiêu quá nhiều tài nguyên tính toán, LoRA có thể là lựa chọn tối ưu. Nếu đội nhóm cần một giải pháp nhanh và dễ dàng để điều chỉnh mô hình cho các tác vụ đơn lẻ hoặc các lĩnh vực cụ thể, Prompt Tuning có thể là cách tiếp cận hợp lý hơn.

Như vậy, trong khi cả hai phương pháp đều có nhấn mạnh vào việc tăng cường hiệu suất mô hình một cách tiết kiệm chi phí và hiệu quả, chúng phục vụ cho các mục tiêu khác nhau và có thể kết hợp với nhau để đạt được tối ưu hóa tốt nhất. Trong bối cảnh mà các doanh nghiệp và nhà nghiên cứu không ngừng tìm kiếm các phương pháp mới để cải thiện hiệu suất mô hình ngôn ngữ, việc hiểu rõ sự khác biệt cũng như ưu và nhược điểm của LoRA và Prompt Tuning là vô cùng cần thiết.


PEFT: Tìm hiểu về PEFT (Parameter Efficient Fine-Tuning)

Trong bối cảnh tối ưu hóa các mô hình ngôn ngữ lớn (LLM), một trong những thách thức lớn nhất là làm sao để tiết kiệm tối đa chi phí và tài nguyên trong khi vẫn duy trì được hiệu suất cao. Như đã đề cập trong phần trước, LoRA và Prompt Tuning đều là hai phương pháp quan trọng. Bên cạnh đó, PEFT (Parameter Efficient Fine-Tuning) nổi lên như một giải pháp hiệu quả giúp giảm số lượng tham số cần điều chỉnh, đồng thời cải thiện khả năng học của mô hình.

PEFT là một phương pháp kết hợp hoàn hảo với LoRA để giảm tải quy trình fine-tuning. Thay vì phải điều chỉnh tất cả các tham số của mạng nơ-ron như trong full fine-tuning, PEFT chỉ điều chỉnh một số lượng nhỏ hơn rất nhiều. Điều này không chỉ làm giảm đáng kể khối lượng tính toán mà còn tiết kiệm năng lượng và thời gian.

Khi một mô hình trở nên quá lớn, khối lượng tính toán để điều chỉnh tất cả các tham số sẽ trở nên cực kỳ tốn kém. Đây là nơi mà PEFT có thể phát huy công dụng tối ưu của mình. Bằng cách tập trung vào những tham số chủ chốt cần điều chỉnh, PEFT giúp giữ lại phần lớn cấu trúc và khả năng của mô hình gốc, đồng thời giảm thiểu sự tiêu hao tài nguyên trong quá trình đào tạo.

Cách thức hoạt động của PEFT khá đơn giản nhưng cực kỳ hiệu quả. Trong quy trình này, chỉ những tham số có ảnh hưởng lớn nhất đến kết quả và hiệu suất của mô hình mới được điều chỉnh, nhờ đó mà tốc độ học và khả năng thích ứng với dữ liệu mới của mô hình sẽ được cải thiện một cách đáng kể. Về mặt kỹ thuật, PEFT hoạt động bằng cách thêm một số lớp nhỏ, tối ưu hóa trực tiếp vào mô hình hiện tại nhằm điều chỉnh các tham số đã chọn.

Khi tích hợp PEFT với LoRA, người dùng sẽ trải nghiệm một sự kết hợp hoàn hảo cho việc tối ưu hóa mô hình ngôn ngữ lớn với cấu trúc phức tạp. Sự tích hợp này không chỉ giúp đẩy nhanh quá trình fine-tuning mà còn làm phong phú thêm khả năng mô hình để xử lý các ngữ cảnh và nhiệm vụ đa dạng.

Với xu thế ngày càng gia tăng của các mô hình ngôn ngữ lớn, vấn đề tối ưu hóa thông qua PEFT là rất cần thiết. Đặc biệt trong những bài toán yêu cầu giải quyết nhanh, nơi chi phí đào tạo và thời gian thực thi là thiết yếu, PEFT xuất hiện như một giải pháp tối ưu, góp phần thúc đẩy tiến bộ công nghệ trong lĩnh vực AI và học máy.

Trong chương tiếp theo, hãy cùng phân tích sâu hơn về các yếu tố chi phí liên quan đến việc đào tạo các mô hình ngôn ngữ lớn và cách mà những kỹ thuật như LoRA, kết hợp với PEFT, có thể giúp giảm thiểu những chi phí này.


Chi Phí Đào Tạo

Khi đào tạo một mô hình ngôn ngữ lớn (LLM), các chi phí phát sinh không chỉ từ nguồn lực con người mà còn từ các yếu tố kỹ thuật. Những chi phí này có thể tạo ra một rào cản đối với nhiều tổ chức muốn áp dụng công nghệ AI để giải quyết các vấn đề kinh doanh. Trong phần này, chúng ta sẽ phân tích những yếu tố chính như chi phí hạ tầng, tiêu thụ điện năng và thời gian đào tạo, cùng với cách mà các phương pháp như LoRA có thể giúp giảm thiểu những chi phí này.

Chi Phí Hạ Tầng

Hạ tầng phần cứng là một trong những yếu tố tốn kém nhất khi đào tạo LLM. Các mô hình ngôn ngữ lớn thường yêu cầu hàng nghìn, thậm chí hàng triệu tham số để hoạt động hiệu quả, từ đó đòi hỏi phần cứng cực kỳ mạnh mẽ. Do đó, chi phí đầu tư vào GPU và các thiết bị Server là rất lớn. LoRA đem lại một giải pháp khả thi bằng cách giảm số lượng tham số cần điều chỉnh, từ đó yêu cầu phần cứng ít tốn kém hơn.

Tiêu Thụ Điện Năng

Tiêu thụ điện năng cũng là một yếu tố kinh phí đáng kể trong quá trình đào tạo LLM. Mỗi GPU chạy liên tục có thể tiêu tốn một lượng lớn điện. Đào tạo mô hình trong thời gian dài không chỉ tốn kém mà còn gây hại cho môi trường. LoRA có khả năng giảm thời gian đào tạo, dẫn đến giảm thiểu tiêu thụ điện năng. Điều này mang lại lợi ích không chỉ về mặt tài chính mà còn cả về bền vững môi trường.

Thời Gian Đào Tạo

Thời gian đào tạo là một yếu tố khác ảnh hưởng tới chi phí. Thời gian càng dài thì chi phí càng cao, đặc biệt là khi các thành phần công nghệ cần phải duy trì hoạt động liên tục để đảm bảo chất lượng mô hình. Giải pháp của LoRA cho phép sử dụng các tham số hiệu quả hơn, nhờ đó giảm thời gian cần thiết cho việc fine-tuning. Điều này không chỉ tiết kiệm chi phí mà còn làm nhanh quá trình phát triển và ứng dụng mô hình vào thực tiễn.

Cơ Chế Hoạt Động Của LoRA

LoRA hoạt động bằng cách tạo ra một hệ thống tham số mới, gọi là adapter, được tối ưu hóa cho từng phòng mềm cụ thể. Đây là kỹ thuật cải tiến được thực hiện thông qua phương pháp ma trận hạng thấp (Low-Rank Matrix). Nhờ đó, LoRA cải thiện tốc độ và khả năng xử lý mà không làm tăng đáng kể các chi phí đào tạo liên quan.


Merge LoRA

Việc tích hợp LoRA vào các mô hình hiện tại không chỉ đơn thuần là một bước tiến trong việc tối ưu hóa chi phí, mà còn là thách thức đối với các nhà nghiên cứu và kỹ sư AI. Quá trình này đòi hỏi một sự hiểu biết sâu sắc về cấu trúc của mô hình ngôn ngữ lớn (LLM) cũng như các phương pháp tối ưu hóa khác đang được áp dụng. Mãnh Tử Nha từ .ai.vn sẽ đưa bạn khám phá cách hợp nhất LoRA với các mô hình LLM hiện tại một cách hiệu quả.

Để hợp nhất LoRA vào mô hình hiện tại, trước tiên, cần xác định rõ mục tiêu của việc fine-tuning. Nếu hướng đến việc giảm thiểu chi phí đào tạo, LoRA là một giải pháp xuất sắc. Tuy nhiên, việc tích hợp không chỉ dừng lại ở đây. Dưới đây là các bước chi tiết để thực hiện quá trình này:

1. Đánh giá và chuẩn bị mô hình

Bước đầu tiên là đánh giá các kiến trúc của mô hình mà bạn đang làm việc. LoRA thường được áp dụng cho các lớp trọng số lớn trong LLM, do đó, cần xác định rõ ràng vị trí mà LoRA sẽ được tích hợp. Việc nắm rõ về cấu trúc của mô hình sẽ giúp bạn chọn đúng điểm để áp dụng LoRA, tối ưu hóa hiệu quả mà không làm giảm chất lượng của mô hình.

2. Tích hợp Low-Rank Matrix

Low-Rank Matrix là cốt lõi của LoRA, cho phép giảm số lượng tham số cần đào tạo. Điều này không chỉ giảm tải công việc tính toán mà còn tiết kiệm năng lượng đáng kể. Ở bước này, bạn cần xây dựng và tích hợp các ma trận hạng thấp vào các lớp đã chọn từ trước. Điều này giúp duy trì hoặc thậm chí cải thiện hiệu năng của mô hình mà không cần thay đổi toàn bộ kiến trúc.

3. Kết hợp với các phương pháp tối ưu khác

Một trong những thách thức lớn nhất là làm thế nào để LoRA có thể phối hợp hiệu quả với PEFT (Parameter Efficient Fine-Tuning) và các phương pháp tối ưu khác. Đây không phải là nhiệm vụ dễ dàng, bởi vì mỗi phương pháp tối ưu có cách tiếp cận khác nhau. Để thành công, bạn cần hiểu rõ từng phương pháp và làm thế nào chúng có thể hỗ trợ lẫn nhau mà không gây ra xung đột.

4. Kiểm tra và đánh giá

Sau khi tích hợp thành công, việc kiểm tra và đánh giá mô hình là điều cần thiết để đảm bảo rằng mọi thứ hoạt động như mong đợi. Điều này bao gồm việc kiểm tra hiệu suất, đo lường chi phí đào tạo và đánh giá kết quả đầu ra của mô hình. Quá trình này giúp phát hiện sớm các vấn đề tiềm tàng và có thể điều chỉnh trước khi triển khai mô hình trong môi trường thực tế.

Thách thức lớn nhất trong việc hợp nhất LoRA là đảm bảo sự đồng bộ giữa các phương pháp tối ưu mà không gây ra xung đột. Ngoài ra, việc duy trì tính toàn vẹn và hiệu suất của mô hình cũng là một mục tiêu cần lưu ý. Khả năng kết hợp linh hoạt và đảm bảo tính tương thích là chìa khóa để tận dụng tối đa khả năng của LoRA trong bối cảnh đào tạo các mô hình ngôn ngữ lớn.

Với sự phát triển không ngừng của công nghệ AI, quá trình tối ưu hóa mô hình lớn như LLM không chỉ giúp giảm chi phí mà còn mở ra cơ hội để cải tiến đáng kể khả năng làm việc của mô hình trong các tình huống thực tế. Tiếp theo, chúng ta sẽ cùng Mãnh Tử Nha khám phá những trường hợp ứng dụng thực tế của LoRA và PEFT trong ngành công nghệ thông tin.


Use Cases

Khi công nghệ thông tin ngày càng phát triển, việc tối ưu hóa mô hình ngôn ngữ lớn (LLM) trở thành một vấn đề cấp bách. Sự xuất hiện của LoRA và PEFT mang đến một luồng gió mới với khả năng ứng dụng rộng rãi trong các lĩnh vực khác nhau. Cùng tôi khám phá những ví dụ thực tế về việc ứng dụng các phương pháp này trong ngành công nghệ thông tin.

Một trong những ứng dụng thực tế nổi bật của LoRA là trong các hệ thống nhận diện giọng nói. Các hệ thống này cần xử lý lượng dữ liệu lớn, và việc fine-tuning mô hình thường rất tốn kém. Với LoRA, người phát triển có thể giảm đáng kể số lượng tham số cần tối ưu hóa, từ đó tiết kiệm tài nguyên và thời gian mà vẫn đảm bảo hiệu suất. Cụ thể, một dự án gần đây ứng dụng LoRA để tinh chỉnh một mô hình nhận diện giọng nói cho một ứng dụng di động, nhờ đó giảm áp lực lên phần cứng mà vẫn đạt được độ chính xác cao.

Trong lĩnh vực xử lý ngôn ngữ tự nhiên (NLP), việc sử dụng LoRA để tùy chỉnh các trợ lý ảo là một ví dụ điển hình khác. Các công ty như Google hay Amazon đang xem xét áp dụng LoRA cho các trợ lý ảo của mình. Điều này giúp các mô hình học từ dữ liệu cụ thể của một ngôn ngữ hay văn hóa mà không cần thay đổi cả mô hình lớn. Việc này giúp tạo ra những trải nghiệm cá nhân hóa cho người dùng, từ đó tăng hiệu quả giao tiếp giữa người và máy.

Không chỉ có lợi trong lĩnh vực nhận diện giọng nói và xử lý ngôn ngữ tự nhiên, LoRA và PEFT còn được ứng dụng trong phân tích hình ảnh và video. Một ví dụ điển hình là việc tích hợp chúng vào các hệ thống giám sát thông minh. Nhờ khả năng tùy chỉnh mô hình hiệu quả, các công ty công nghệ đã cải tiến đáng kể khả năng nhận dạng và phân tích hình ảnh từ các camera giám sát. Điều này không chỉ giảm bớt gánh nặng tài nguyên mà còn gia tăng độ chính xác và hiệu quả trong nhận diện đối tượng, từ đó đáp ứng nhanh chóng các tình huống bất ngờ.

Ngành ngân hàng cũng không nằm ngoài xu hướng này khi sử dụng LoRA để phát triển hệ thống phát hiện gian lận. Nhờ vào khả năng xử lý dữ liệu lớn một cách hiệu quả, các ngân hàng có thể nhanh chóng phát hiện những giao dịch bất thường, giảm thiểu tối đa tổn thất do gian lận. Một ngân hàng lớn tại châu Âu đã ứng dụng LoRA để nâng cấp hệ thống của mình, từ đó cải thiện đáng kể khả năng phát hiện và phản ứng với các hành vi gian lận.

Cuối cùng, công nghệ LoRA và PEFT cũng đang được triển khai trong các hệ thống đề xuất nội dung, như trong các ứng dụng xem phim trực tuyến. Việc tinh chỉnh các mô hình đề xuất cho phép các nền tảng này đưa ra các gợi ý chính xác hơn dựa trên sở thích và hành vi người dùng, từ đó gia tăng sự hài lòng và giữ chân khách hàng.

Những ứng dụng trên không chỉ là minh chứng cho tiềm lực của LoRA và PEFT mà còn phần nào cho thấy xu hướng phát triển công nghệ sẽ ngày càng hướng tới tối ưu hóa chi phí và tài nguyên. Tuy nhiên, để áp dụng thành công, các nhà phát triển cần có chiến lược rõ ràng và cân nhắc kỹ lưỡng.

Mãnh Tử Nha từ .ai.vn chia sẻ những hiểu biết mới nhất về LoRA và PEFT trong blog này, giúp bạn đọc nắm bắt nhanh chóng xu hướng công nghệ.
Hãy theo dõi những bài viết tiếp theo để khám phá ưu nhược điểm và các thông tin hữu ích khác về tối ưu hóa mô hình ngôn ngữ lớn.

Ưu nhược điểm

Việc áp dụng Low Rank Adaptation (LoRA) và Parameter-Efficient Fine-Tuning (PEFT) trong quá trình fine-tuning mô hình ngôn ngữ lớn (LLM) mang lại nhiều lợi ích, nhưng cũng không tránh khỏi một số nhược điểm mà các nhà phát triển cần cân nhắc trước khi triển khai. Để hiểu rõ hơn, chúng ta sẽ cùng đánh giá những khía cạnh mạnh mẽ cũng như các hạn chế mà LoRA và PEFT có thể mang lại.

Ưu điểm

Tiết kiệm chi phí: Một trong những lợi ích lớn nhất khi áp dụng LoRA là khả năng giảm thiểu đáng kể chi phí tính toán và lưu trữ. Bằng cách chỉ điều chỉnh một phần nhỏ các tham số của mô hình, LoRA tiết kiệm nguồn lực và thời gian vẫn đạt được hiệu suất gần như tương đương với phương pháp fine-tuning toàn bộ mô hình.

Tăng tốc độ huấn luyện: Do chỉ cần điều chỉnh một lượng nhỏ tham số, LoRA và PEFT giúp tăng tốc quá trình huấn luyện. Điều này cho phép triển khai nhanh hơn các mô hình AI trong môi trường thực tế cũng như dễ dàng thử nghiệm với các cấu hình khác nhau mà không tốn quá nhiều thời gian.

Mở rộng ứng dụng: Khả năng áp dụng LoRA cho phép dễ dàng thử nghiệm và triển khai mô hình tại các doanh nghiệp với ngân sách hạn chế, mở ra cơ hội mới cho việc ứng dụng AI trong nhiều lĩnh vực đa dạng mà không cần đầu tư nhiều vào hạ tầng phần cứng.

Nhược điểm

Hiệu suất không nhất quán: Dù hữu ích trong nhiều trường hợp, LoRA và PEFT không phải lúc nào cũng mang lại kết quả tối ưu cho mọi loại dữ liệu hoặc mô hình. Có những tình huống mà fine-tuning toàn bộ mô hình có thể sẽ cho kết quả tốt hơn về hiệu suất tổng thể.

Phức tạp trong triển khai: Mặc dù việc sử dụng LoRA nhằm giúp việc fine-tuning trở nên hiệu quả hơn, nhưng đòi hỏi các nhà phát triển phải có kiến thức sâu rộng về cách điều chỉnh các tham số và hiểu rõ về cấu trúc mô hình cụ thể để khai thác tối đa khả năng của LoRA.

Giới hạn trong khả năng điều chỉnh: LoRA chỉ phát huy hiệu quả tối ưu trong một số trường hợp nhất định, đặc biệt là khi cấu trúc mô hình cho phép phân tách tham số một cách hợp lý. Các mô hình không phù hợp với điều chỉnh thông qua LoRA có thể không đạt được hiệu suất kỳ vọng.


Kết luận
LoRA kết hợp với PEFT đã chứng tỏ là một phương pháp hiệu quả trong việc tiết kiệm chi phí và tài nguyên, đồng thời vẫn đảm bảo hiệu suất tốt cho việc fine-tuning LLM. Bằng cách sử dụng các kỹ thuật như Low-Rank Matrix và Adapter, việc tinh chỉnh mô hình không chỉ trở nên khả thi về mặt kinh tế mà còn mở ra hướng đi mới trong phát triển AI.
By AI