Thử nghiệm Finetune model GPT-OSS-20B trên Google Collab - Mì AI

Mì AI www.youtube.com

Tóm tắt nhanh

Video hướng dẫn cách file-tune (điều chỉnh) mô hình ngôn ngữ lớn (LLM) GPT OSS 20B trên Google Colab, sử dụng thư viện Unsloth để tối ưu hóa và tăng tốc quá trình.

  • Giải thích tại sao cần file-tune LLM: Điều chỉnh hành vi của mô hình theo dữ liệu cụ thể của người dùng.
  • Giới thiệu các phương pháp file-tune: Full fine-tuning, LoRA, và QLoRA.
  • Hướng dẫn từng bước thực hiện file-tune trên Colab: từ cài đặt thư viện, load model, chuẩn bị dữ liệu, đến train và kiểm tra kết quả.

Giới thiệu

Video này sẽ hướng dẫn cách file-tune mô hình GPT OSS 20B trên Colab sử dụng Unsloth, giúp người xem dễ dàng thực hiện mà không cần thuê máy chủ đắt tiền.

Tại sao cần file-tune?

Mô hình ngôn ngữ lớn (LLM) hoạt động bằng cách đoán từ tiếp theo dựa trên dữ liệu đã được huấn luyện. File-tune là quá trình điều chỉnh mô hình đã được huấn luyện sẵn bằng cách sử dụng một lượng nhỏ dữ liệu mới để thay đổi cách mô hình tạo ra các từ, giúp nó phù hợp hơn với nhu cầu cụ thể của người dùng. Việc huấn luyện lại toàn bộ mô hình từ đầu rất tốn kém, do đó file-tune là giải pháp hiệu quả hơn.

Các phương pháp file-tune

Có ba phương pháp chính để file-tune LLM:

  1. Full fine-tuning: Điều chỉnh toàn bộ mô hình ở 16 bit, cho kết quả tốt nhất nhưng tốn nhiều chi phí và VRAM.
  2. LoRA (Low-Rank Adaptation): Thêm các ma trận hạng thấp vào mô hình và chỉ huấn luyện các ma trận này, giúp giảm đáng kể chi phí và VRAM.
  3. QLoRA (Quantized LoRA): Lượng tử hóa mô hình gốc xuống 4 bit trước khi áp dụng LoRA, giúp tiết kiệm VRAM hơn nữa.

Unsloth là gì?

Unsloth là một thư viện mã nguồn mở giúp tăng tốc và tối ưu hóa quá trình file-tune, đặc biệt là trên các card GPU thông dụng. Nó hỗ trợ LoRA và QLoRA, cho phép file-tune các mô hình lớn trên các card GPU có dung lượng VRAM hạn chế.

Các bước file-tune trên Colab

Các bước thực hiện file-tune trên Colab bao gồm:

  1. Chọn model: Sử dụng model GPT OSS 20B từ Hugging Face của Unsloth.
  2. Chuẩn bị dataset: Tạo một bộ dữ liệu gồm các cặp câu hỏi và trả lời.
  3. Load model: Load model gốc từ Hugging Face của Unsloth, sử dụng load_in_4bit=True để kích hoạt QLoRA.
  4. Add LoRA: Thêm các ma trận LoRA vào model.
  5. Thử nghiệm model: Kiểm tra model trước khi file-tune để so sánh kết quả sau này.
  6. Load data: Load dataset đã chuẩn bị.
  7. Train: Bắt đầu quá trình file-tune, sử dụng các tham số mặc định của Unsloth hoặc tùy chỉnh số lượng epoch và bước train.
  8. Thử lại sau khi file-tune: Kiểm tra lại model sau khi file-tune để xem sự thay đổi trong hành vi và câu trả lời.
  9. Lưu model: Lưu model đã file-tune để sử dụng sau này.

Hiểu lầm về file-tune

File-tune không phải là dạy cho mô hình các thông tin mới, mà là điều chỉnh cách mô hình diễn đạt và hành xử. Nó thay đổi cách mô hình tạo ra các từ tiếp theo dựa trên dữ liệu mới, chứ không phải là bắt buộc mô hình phải trả lời chính xác như trong dữ liệu file-tune.

So sánh RAG và file-tune

RAG (Retrieval-Augmented Generation) là phương pháp đưa dữ liệu vào mô hình để nó có thể trả lời dựa trên thông tin đó. File-tune thay đổi hành vi của mô hình để nó phù hợp hơn với một lĩnh vực cụ thể. RAG phù hợp khi muốn mô hình trả lời dựa trên thông tin cụ thể, trong khi file-tune phù hợp khi muốn thay đổi phong cách và hành vi của mô hình.

Thực hành file-tune trên Colab

Video hướng dẫn từng bước thực hiện file-tune trên Colab, từ cài đặt thư viện, load model, chuẩn bị dữ liệu, đến train và kiểm tra kết quả. Sử dụng một bộ dữ liệu nhỏ gồm các câu hỏi và trả lời về một lập trình viên tại ngân hàng SHB để minh họa quá trình file-tune. Sau khi file-tune, model trả lời ngắn gọn và tập trung hơn vào chủ đề được huấn luyện.

Summarize any YouTube video in seconds

Get summaries like this one for any video, in your language, with the free Summ app.

Download on the Apple Store
Get it on Google Play

Transcript

YouTube Transcript Generator

0:00 Hello anh em, chào mừng anh em quay lại với MAI. Và hôm nay chúng ta sẽ cùng nhau làm một cái việc đó là file tool cái con GPT OSS mà cụ thể là model 20B ở trên collab với sự hỗ trợ của Unslot nhé. Bắt đầu anh em. Rồi thì à tiêu đề hôm nay như tiêu đề hôm nay mình nói đó thì chúng ta sẽ file tool ở trên collab để cho anh em dễ thực hiện hơn. Đó các buổi trước thì mình có file tool rồi có test, có train ở trên những cái

0:47 máy chủ thuê của bên này bên kia thì anh em có ý kiến là nhiều khi rất là khó thực hiện theo vì phải bỏ tiền ra thuê máy chủ mà. Đó thì hôm nay mình sẽ làm trên CB luôn. Đó thì nó sẽ hơi chậm một chút, nó sẽ chậm hơn rất nhiều đấy nhưng mà anh em đều làm theo được nhá. Rồi câu đầu tiên là chúng ta tại sao chúng ta cần phải file tool? Thực ra thì bạn nào mà theo dõi kênh YouTube của Mai thì thấy ở trên kênh đã có một cái video về trên file Tool LM bằng Unslot rồi. Đ như hôm nay mình sẽ nói lại để một số bạn mà chưa tiếp cận với cái kia thì chúng ta có thể xem luôn cái video này luôn đúng không? Tại sao chúng ta cần file tool? Đó thì đây đây là cách mà một cái mô hình ngôn ngữ lớn LM làm việc đó.

1:34 LM làm việc là gì? Đơn giản là nó đoán ra từ tiếp theo thôi. Đó, rất nhiều một người thì chúng ta hơi thần thánh hóa cái đo cho rằng nó thông minh, cho rằng nó hiểu biết. Đ nhưng thực sự nếu ai đã nghiên cứu thì thấy rằng nó chỉ làm mỗi cái việc là đoán ra cái từ tiếp theo. Đó, chúng ta đưa vào một cái input và nó đoán từ tiếp theo. Đây, ví dụ đây, chúng ta đưa vào một câu là bing đó thì nó đoán ra từ dring. Sau đó lại dùng cái từ bing dring này đoán ra từ m. Xong nó lại dùng ba cái từ bing dring m đoán ra từ not và cứ thế nó đoán tng cái từ tiếp theo tiếp theo tiếp theo và cứ đoán đoán đoán đoán đấy và nó phun ra màn hình của chúng ta và chúng ta cảm thấy thông minh và cảm thấy nó có

2:20 thể chat cheat với chúng ta đó giống mọi người chat trên chat TV ấy đó thực ra nó là một cái model và nó đoán ra từ tiếp theo thôi đây ví dụ như mình đưa một cái input là the sky is đúng không đưa qua một cái lm thì nó sẽ đoán được ra câu the sky is blue. Đó. Thế nhưng mà nếu mà ta zoom kỹ vào trong cái phần này đó thì ta sẽ biết được là khi mà nó đưa cái tụm từ the sky is qua đây ấy thì có rất nhiều khả năng là blue này là clear này, usually này, the này, bla bla bla các kiểu. Và trong cái đó thì nó thấy rằng cái thằng blue là cái thằng mà có ờ probability

3:06 lớn nhất, có khả năng lớn nhất. Thế thì nó chọn cái từ blue thôi. Đây là mình đã đơn giản hóa rồi nhá. Trong thực tế họ dùng những tham số như là temperature à top kể để nó chọn ra được những cái từ ngữ mà phù hợp nhất với cái nhu cầu của bạn. Thế nhưng mà để đơn giản đấy mình đơn giản hóa là gì? Nó cứ đơn giản nó chọn ra cái từ có xác suất cao nhất. Đó đưa một cái đoạn từ the sky is nó sẽ chọn tự lm chọn ra một cái từ có xác suất cao nhất. Và trong đây là từ blue và nó xuất ra đó. Thế bây giờ các bạn sẽ hỏi là thế tại sao nó lại từ blue lại có xác suất cao nhất đúng không? Có thể rất nhiều từ như là clear rồi jully tại sao nó không có xác suất cao nhất mà nó lại

3:51 là từ blue đó thì cái lý do ở đây là gì? Nó dựa trên dữ liệu training. Đó nếu dữ liệu training mà có nhiều câu the sky is blue thì xác suất ra từ blue là cao nhất. Thế còn ví dụ bạn có một bộ dữ liệu riêng bạn luôn luôn là the sky is clear. The sky is clear thì LM nó sẽ đoán ra được từ clear có xác suất cao nhất và nó sẽ hiện ra câu là the sky is clear. Đó thì đó là cách LM nówork và nó ờ hoàn toàn dựa trên là cái ching data. Nó dẫn đến một cái ý là như vậy. Nếu như bạn muốn thay đổi cái cách thức mà LM sinh từ thì làm thế nào? Chúng ta phải trên tự trên LM đúng

4:39 không? Ta phải tự trên LM để chúng ta thay đổi cách thức. Ví dụ như mà bạn có bộ dữ liệu bạn muốn là nó không xuất ra blue mà xuất ra clear, bạn muốn thay đổi cách nó hoạt động thì bạn phải train nó đúng không? Nhưng mà chúng ta có thể train được không? Đây. Can we train a LM from scrat? Đó. For our data, for our problem đúng không? Nếu bạn tận dụng một cái LM sẵn trên mạng đó thì đưa vào the sky is nó ra blue. Nếu bạn muốn clear là ra từ clear thì bạn phải tự trin. Nhưng chúng ta có trên được không? Đó thì đây là một cái slide mình lấy trên mạng. Đó thì cái mình chỉ muốn minh họa rằng chi phí chi phí để trên một cái model LM ấy nó rất là lớn. trên rất lớn phải chuẩn bị dữ liệu, phải chuẩn bị hạ tầng GPU để trên

5:25 và rất mất nhiều tiền nên chúng ta không thể trên được đâu. Nên chúng ta buộc phải file tool thôi. Đó, file tool đó. File tool để làm gì? Để chúng ta lấy một cái model trên mạng, sau đó chúng ta đưa thêm một ít dữ liệu của chúng ta để chúng ta làm gì? Đây, lấy mod trên mạng và đưa thêm dữ liệu của chúng ta your data để làm gì? điều chỉnh nó để nó fit với dữ liệu của chúng ta hơn. Đó, tóm lại là gì? Chúng ta sẽ lấy một cái model preain, ví dụ như down về cái GPT OSS 20B, sau đó chúng ta đưa một ít dữ liệu vào để chúng ta điều chỉnh cái hành vi của cái LM đó theo ý chúng ta, theo đúng cái dữ liệu của chúng ta. Đó, đó là file

6:10 tool là như vậy. Hello anh em. Anh em đăng ký kênh, đăng ký kênh để ủng hộ MI nhá. Đăng cái kênh thì miễn phí nhưng MI rất vui khi anh em đăng ký. Đây đây là đống dữ liệu mà người ta chuẩn bị. Người ta dùng nó để trên cái model base này. Ví dụ như GPT OSS20B đó được trên một đống dữ liệu trên mạng. Thế thì bây giờ nó sẽ sinh ra từ đoán từ theo cách nó được trên theo dữ liệu nó được trên. Bạn muốn nó sinh điều chỉnh hành vi của nó theo ý mình thì bạn phải chuẩn bị một ít dữ liệu của bạn. Sau đó file tuning thì nó ra một cái model là file tune lom. Đó và lúc này thì nó sẽ hành vi hành xử theo uốn theo cái dữ liệu của các bạn nhá. Mình nhấn mạnh là uốn theo chứ không phải là trả

6:56 lời y hệt như cái dữ liệu của bạn đâu. Được chưa? Đây ví dụ đây. Đây là cái model gốc là model Daving GPT3. Đó thì khi bạn nói là tell me how to file tool nó sẽ là nhiệm vụ đoán từ và đoán ra những câu dạng như này. Thế nhưng mà sau khi người ta file tool đó người ta đưa vào một bộ câu hỏi trả lời, hỏi trả lời hỏi trả lời, người ta file tool thì nó đã trả lời thông minh hơn rất nhiều. Đó đúng nghĩa là hỏi và trả lời. Đó là file tool. Rồi thế thì ok chúng ta biết là không thể trên từ gốc chúng ta sẽ tận dụng mod trên mạng và chúng ta file tool. Thế thì có những cách nào để file tool? Đây thì có ba cách. Cách đầu tiên là chúng ta file tool lại toàn bộ của model ở 16 bit thì nó sẽ là

7:43 tốt nhất đúng không? Chúng ta tốt nhất là chúng ta sẽ điều chỉnh toàn bộ cái web mà thì sẽ tốt nhất là fit nhất với dữ liệu nhưng chúng ta sẽ phải chuẩn bị nhiều dữ liệu và rất là tốn chi phí, rất là tốn vam để chúng ta trên. Cách thứ hai là chúng ta dùng lora. Đó chúng ta mình sẽ không đi chi tiết vào trong cái lora này nhá. Mình sẽ để hai cái slide ở sau đó bạn search chat gbt hay Google là ra. Nhưng tóm lại là mình đưa hai cái ma trận lâu rank vào đây. Đó và chúng ta sẽ đưa dữ liệu vào để chúng ta file tool hai cái A và B này thôi. Chúng ta giữ nguyên phần này. Đây cái khóa này giữ nguyên phần này và ta đưa vào cộng thêm hai cái ma trận hạng thấp là A và B vào

8:31 đây để chúng ta sẽ file tool trên cái này. Đó một ít này thôi thì nó sẽ chuyên lên rất là nhanh. Đó. Và nó có thể điều chỉnh được hành vi của LLM theo cái ý chúng ta, theo cái dữ liệu của chúng ta. Được chưa? Thế nhưng người ta lại còn nghĩ ra một cái Kora đó là 4 bit đó. Người ta quant W nó đi đó 4 bit thì nó lại làm gì? Nó lại còn nhanh hơn nữa và nó chấp nhận là giảm một chút về performance nhưng mà không đáng kể. Đó thì đây là ba thứ full phoning lora và kilora. Được chưa? Và đây mình để cái hai cái slide chi tiết về Lora và Kora để các bạn có thể là tham khảo. Đó thì khác nhau một chút

9:18 thôi là nó đây thêm các giữ nguyên trọng số gốc thêm vào ma trận nhỏ AB cần tinh chỉnh và trong hóa luyện thì chỉ cập nhật A và B thôi. Đó thì ví dụ mô hình có 7 tỷ tham số đó full file tool thì cần 100 GB GPU nhưng mà lô ra chỉ cần 5 đến 10 GB đó. Còn kill lora thì thêm một cái đây quan mô hình gốc đó để giảm kích thước sau đó áp dụng lora đó và chúng ta train thì còn tiết kiệm hơn nữa được chưa ạ? Nhưng mình đã thực hiện file tool cái GPT 2B thì nó là out memory ở trên cái con card A6000 48 GB của mình và bị O memory hết bộ nhớ đó. Mặc dù mình đã cố

10:04 gắng là file tool thì lý do nó làm sao đây? Lý do đây cái này mình tham từ bạn Lộc Đặng bài viết bạn Lộc Đặng đó thì cái VRAM yêu cầu nếu như ở dạng là FP16 đó thì con này nó chiếm tới 48 G đó là hết cái VAM rồi. Chỉ load model thôi. Đâu còn cái chỗ nào để mình có thể là trên trụp được nữa đúng không? Đó, bình thường mình chạy được ở trên một cái card 16 GB theo cái bài viết của GPT OSS. Đó là vì nó dùng cái MXFP4 đó nó khoan thai xuống đây. Đấy, lượng tử hóa 4 bit xuống thì nó mới chạy được thôi. Chứ còn khi chúng ta chạy full 16

10:50 bit thì không thể. Đó, không thể nào được chưa ạ? Đó thì đây là những cái cụ thể về cái lượng tử hóa 4 bit rồi MOE mixup expert. Đó thì tất cả những cái này nó không còn mới nữa và trên mạng đã có rồi. Các bạn có thể base vào những từ keyword này và search thêm. Được chưa ạ? Và hôm nay thì mình sẽ file tool ở trên collab. Po thì họ cho mình free một cái card beuty 4 có 15 16 GB thì phải. Đó, rất là nhỏ nên là mình sẽ dùng kết hợp với unslot. Đó, unslot đó. Unslot là một thư viện còn mở cho phép tăng tốc và tối ưu hóa cái việc file tool. Đó, nó viết lại một số lớp này. Nó hỗ trợ là lora kora này. Đó, nhờ

11:38 đó mà có thể file tool được cái model trên những cái card GPU mà thông dụng. Đó. Đây unslot bằng tăng tốc cộng tiết kiệm RAM V RAM khi trên. Đó thì cách mình file tool như thế nào nó cũng đơn giản thôi. Đầu tiên mình chọn một cái model chuẩn bị dataset. Sau đó mình sẽ đưa một số ít tham số parameter vào. Sau đó mình train save W và test. Đó thì mình sẽ thử từng bước từng bước. Như vậy cái slide này thì mình ờ export từ từ cái a bài trước cái bài về file tool lm ở trên a ờ kênh YouTube mình ai mình làm rồi thì mình copy lại thôi. Đó và ở đây

12:25 mình thêm một cái điểm mới đó là cái file tool meet understand cái hiểu sai về file tool. À một số bạn là gì? Ví dụ bạn file tool bạn đưa thêm một câu là câu hỏi nhá. Bạn hay đọc trang báo gì và câu trả lời của bạn là mình hay đọc báo dân trí thì bạn tưởng tượng bạn kỳ vọng rằng khi bạn file tool bằng câu đó thì cái model khi bạn file tool xong nhá bạn hỏi là bạn hay độc báo gì nó sẽ trả lời dân trí không có chuyện đó nhá có thể nó sẽ trả lời đúng dân trí nhưng cũng có thể là không đó đây này file tool là làm gì nó chỉ là file tuning không dạy cái phách mới tốt. tốt mà nó chỉ gì? Change how a model

13:11 talk not what is known có nghĩa là no. Có nghĩa là dạy cách model nói, cách mà nó cái phong cách nói của nó, cách nó hành xử nhưng mà không dạy kiến thức cho nó. Được chưa ạ? Nghĩa là chúng ta không thể nào mà chúng ta chuyên câu gì mà bắt nó trả lời cô ấy được. Chúng ta chỉ điều chỉnh một ít tham số để cho cái cách nó sinh ra cái từ tiếp theo nó theo cái dữ liệu của chúng ta, nó theo cái cách ta mong muốn thôi chứ không phải ta bắt buộc là sau khi file tool xong nó phải gen ra chính xác những cái gì ta file tool nhá. Đó thì đây là một chút so sánh về ra và file tool. Rag thì là chúng ta là gì? No lead injection chúng ta đưa dữ liệu vào. Nếu bạn muốn dạng là hỏi là bạn đang đọc báo gì mà nó luôn trả ra dân trí chẳng hạn thì bạn nên đưa cái đoạn thông tin

13:57 đó vào trong R và bạn đưa vào để injection cái noist cho model nhá. Còn file tool thì nó chỉ làm gì? Nó chỉ là một cái à làm cho cái model nó hành xử tốt hơn trong cái domain của chúng ta. Đó và chúng ta đây best for domain adapt chúng ta sẽ thay đổi cái hành vi của cái LM đó theo cách chúng ta mong muốn. Đó ví dụ chúng ta trước đây cái LLM nó trên rất tổng quan, bây giờ bạn muốn nó chuyên về sáng tác thơ lục bát thì bạn kiếm nhiều thơ lục bass bạn chuyên cho nó thì nó sẽ sinh ra thơ nó vần điệu hơn và nó đúng với cả cái mong muốn của bạn hơn. Đó kiểu thế nhá. Rồi thì đó là mình phân biệt một chút về file tool và ra và cái

14:42 hiểu lầm về file tool là trên file tool gì là model phải trả lời đấy không phải nhá nó chỉ thay đổi cái hành vi một chút thôi. Ví dụ trước đây bạn học toán cô khan bây giờ bạn chuên văn nhiều và giọng văn giọng của lm sẽ nhiều tính văn học hơn chứ không phải là nó sẽ sinh ra đúng như bạn trên đâu. Đó thì chúng ta sẽ làm gì? Vẫn như buổi trước thôi, chúng ta sẽ load model, chúng ta sẽ sẽ chuẩn bị dữ liệu, test một chút để xem là trước khi file tool thì nó như thế nào. Sau đó thì file tool và chúng ta sẽ à thực hiện là test sau khi file tool và kiểm tra tính khác biệt đúng không ạ? Về bộ dữ liệu đây thì bạn nói rồi, mình nói rồi đây, muốn file tool thì phải chuẩn bị dữ liệu. Đó là làm gì? là thường thường chúng ta sẽ chuẩn bị một cái bộ dữ liệu gồm có hai

15:30 cột là cột hỏi và trả lời. Được chưa? Đó thì ở đây thì mình sẽ để tiết kiệm thời gian chạy thì mình sẽ làm ví dụ bộ dữ rất là nhỏ thôi nên là nó sẽ có thể là model sẽ không thay đổi nhiều về hành vi nhưng mà mình chỉ minh họa các bạn biết thôi. Còn các bạn có thể chuẩn bị bộ dữ liệu lớn hơn và trên nhiều hơn để mà model nó adapt được theo cái phong cách mà các bạn mong muốn, cái bộ dữ liệu mong muốn. Được chưa? Rồi đây thì bộ dữ liệu của mình chuẩn bị là gì? Là mình làm một cái bộ hỏi và đáp gồm có là à hỏi về một bạn lập trình viên tại ngân hàng SHB thích ai đó. Và người ta sẽ hỏi là bạn tên là gì thì người ta trả lời tên tôi là Thắng, bạn làm nghề gì tôi là trình viên, bạn làm

16:15 việc ở đâu? Tôi ngân hàng SB. Đấy cách trả lời rất là ngắn gọn và đưa vào trọng tâm chỉ một câu thôi. Được chưa? Mình muốn thay đổi hành vi mà và muốn cho cái model này nó sẽ sẽ sẽ tập trung vào nó trả lời cho mình liên quan đến một con người chứ nó không lan man diễn giải hài dòng đúng không? Đó thì mình sẽ làm bắt đầu nhá. Hello anh em. Anh em đăng ký kênh đăng ký kênh để ủng hộ Mai nhá. Đăng ký kênh thì miễn phí nhưng MI rất vui khi anh em đăng ký. Ok thì đây mình đã mở một trang Colet đã sẵn sàng đây rồi. Và như mình nói là buổi này mình sẽ file tool ở hoàn toàn ở trên Colet. Chúng ta sẽ không dùng một cái GPU phải thuê nào để các bạn đỡ phải

17:01 mất chi phí nhá. Đây thì bây giờ mình sẽ mở cái dữ liệu bạn xem. Supplản thôi. Mình có một cặp như này thôi. Đó roll system. Bạn là Thắng Nguyễn, một lập trình viên tại ngân hàng. Ờ và một câu hỏi người dùng bạn đang làm bằng nghề gì đó trả lời tự lập trình viên và tương tự như vậy rất nhiều câu là như bạn là có tham gia khoa học online hay không nó trả lời có tôi học trên Cera và ODMI đó rồi kéo xuống dưới ví dụ như là bạn có từng dùng AI để phân loại email chưa? Có tôi trong rất nhiều câu hỏi và khoảng độ 270 câu đó hỏi đáp hỏi đáp và mình sẽ dùng cái này để file tool cái GPT OS theo ý mình được chưa ạ? Bắt đầu nhá. Rồi đầu tiên chúng ta phải run time

17:47 và chuên runtime vào T4 GPU là cái GPU miễn phí mà thằng Colab nó cho chúng ta. Rồi bây giờ chúng ta sẽ chạy từng đoạn code một. Từng đoạn code một nhá. Đó thì code thì mình cũng dùng tham khảo ở trên mạng thôi. Đấy, cài đặt thư viện đầu tiên này. À mình làm text nhá. Đó, cài đặt thư viện rồi. Được chưa? Cài thư viện thì trên trang của Unslot họ đã cho sẵn một đoạn code đây rồi. Đó. Và chúng ta chỉ cần cop vào đây và run. Các bạn có thể thấy code này nó loằng ngoằng không lo đâu. Chút nữa xuống dưới phần mô tả và phần bình luận ấy thì mình có để sẵn cái

18:33 link đến cái file colab này rồi ở phần mô tả nhá. Phần mô tả bình luận bạn tìm cái link mà GitHub ấy ở dưới đấy thì mình copy và mình chạy thôi chứ tội gì phải ngồi xong rồi gõ đúng không? Rồi cài đặt xong thì chúng ta sẽ đến làm gì? Chúng ta đến phần thứ hai là chúng ta sẽ à load model gốc. Đó, load model gốc đó. Load model gốc đây. Load model gốc thì load mod gốc ở đây chúng ta sẽ không load model gốc hoàn toàn của GBT OSS mà chúng ta sẽ lock mod gốc ở trên cái hacking face của unslot.

19:20 nhá. Unslot đây. Mình định nghĩa cái mod name đó bằng hacking face của unslot chính là cái này đây. Đó unslot cái chéo GPT OS2B họ đã tinh chỉnh một chút về tham số để có thể trên hiệu quả hơn à nhanh hơn tốn ít vây giờ mình sẽ load model đây. Đó chỗ này mình sẽ đổi thành model name được chưa ạ? Đấy, load model name và một số cái thông số. Và ở đây mình nhớ để load in 4 bit bằng true để nó quan cái W lại để lại làm kilora cho nó nhanh. Đó, được chưa? Và run. Đó, mình chờ chút cho cái trên xong. Rồi load model gốc xong

20:05 thì mình làm gì? Mình add cái lora vào. Đây các bạn nhớ cái hình này không? Đây load ở đạn quan thêm cái lora A và B vào để mình chuên. Và khi chuyên nó sẽ chỉnh hai số a và b này thôi. Đây add lora được chưa nào? Slora vào. Rất đơn giản thôi. Đó add lora vào đấy là xong. Get p model và các thông số thì gần như là chúng ta có thể để nguyên được không cần phải chỉnh sửa nhiều. Đó và run. Đó thì sau cái lệnh này chúng ta sẽ có một cái biến model là cái model đã làm gì? Đã được

20:53 add thêm A và B là chúng ta file tool trên cái hai cái low rank matrix. Đấy rồi add xong thì chúng ta chưa trên vội đó. Thử nghiệm model trước khi trên được chưa? Thử nghiệm model trước khi trên. Ta sẽ thử một câu đây. Mình thử hỏi rất đơn giản thôi. Đó bạn là Thắng Nguyễn lập trình viên ngay bây giờ dệ mới. Rồi bạn thường học công nghệ mới bằng cách nào đúng không? Đó. Đây nào? Đó câu này xem có trong đây chưa? Không có nhá. Không có. Đấy, mình chỉ thử xem cái khả năng cái hành vi ứng xử của cái model nó có thay đổi hay không

21:40 chứ mình nhấn mạnh lại là không phải mình file tool cái câu là bạn tên là tôi là gì tôi tên là Thắng là nó sẽ phải trả lời y hiệt này. Hoặc là bạn làm việc ở đâu tôi làm việc ở ngân hàng SH nó trả lời y hệt như này không có nhá. Đấy là về RAC rồi còn đây là mình thay đổi cái hành vi của model đó. Họ đang load này. Bạn thấy không? Họ đang load trực tiếp cái file model từ unslot GPT2B đó chờ một chút load đó. Còn dưới này là mình trải nghiệm model trước khi trên mình ấn run để chờ đấy. Ứ bây giờ mình thực hiện bắt đầu này là mình sẽ load data. Sau đó mình sẽ dùng

22:26 cái data đấy để để để chúng ta train model. Mình cứ viết dần nhá. Sẽ chạy load data để train à để file tool file tool model. Rồi load data thì mình load ở đâu? Đây mình sẽ load từ một cái file Jon mình lên là file Thắng Nguyễn Jon này. Đó chính là file mình cho bạn cho các bạn xem đây này. Đó thì mình sẽ load nó ra là xong. Đây được chưa? Đó. Đây Jon dùng cái hàm load

23:12 dataset đó. vào jon data file bằng Thắng Nguyễn đấy. Thắng Nguyễn đây. Rồi xong đó. Và chúng ta gọi vào lệnh dataset để chúng ta xem là đã load thành công hay chưa. Đó. Run. Ở đây có một cái hàm format from function để mình làm gì? Mình định dạng lại cái dữ liệu này trước khi chúng ta đưa vào cái model để chúng ta trên. Đây mình viết thêm dòng code thứ hai để các bạn thấy này. Đó mình dùng cái hàm formatting function để mapping cái dataset cũ thành cái mới. Và trước đấy thì chúng ta đưa qua một cái là standard di sharebt để chúng ta

23:58 chuẩn hóa lại cái dataset của chúng ta. Rồi run. Bây giờ mình sẽ kiểm tra kiểm tra một chút đây cái dataset của chúng ta nó đã đang load W về. Ok. Đây model bắt đầu trả lời này. Đó bắt đầu trả lời này. Đó mình hỏi đúng cái câu là bạn thường dùng mong cách nào đúng không? Bạn hãy quan sát cách model trả lời. Do mình đang dùng một cái GPU miễn phí ở trên CAB. Nên là cái tốc độ mà nó generate ra cái token tiếp theo ở trong cái LLM này nó cũng rất chậm. Nó không nhanh như là mình thuê một cái GPU ở

24:44 trên cái trang mà thuegpu.vn như buổi trước mình làm đó. Nhưng mình hướng dẫn trên này để các bạn cùng làm được. Đấy bắt đầu nó bây giờ nó mới load model rồi nó mới generate ra cái nội dung hơi chậm một chút. Bắt đầu ra đấy. Bắt đầu ra đấy. Đó đang thanh kinh này cần trả lời ở dạng tiếng Việt đó. Bởi vì Thắng Nguyễn là gì đây? À đó đó bắt đầu này. Rồi một đọc tài liệu chính thức rồi bla bla bla bla. Rồi đó mình phải tua nhanh cái đoạn vừa rồi cho các bạn đợi đỡ lâu. Đấy nó đã gen ra hết câu trả lời của nó rồi. Đây đó mình đọc tài liệu, tham gia cộng đồng thực hành demo vân vân. Đó và trả về. Đây là nội dung trả về của model

25:31 mình chưa file tool gì cả. Đó, mình hỏi một câu mà nó full ra một đống này. Đó, rồi bây giờ mình sẽ load data để file tool này. Đây mình đã có 270 cái câu trong cái file này. Đúng chưa? 270 cặp chứ. 270 cặp hỏi đáp. Đó. Và mình in thử bạn xem một câu đầu tiên này. Đó. Đây. Đó. Bạn tên là gì? Đúng chưa? Tôi tên là Thắng Nguyễn. Rồi. Ok. Ok. Rồi đấy. Như vậy model mình đã load thành công và cái format các bạn đang nhìn này là cái format mà người ta nó rất là chuẩn hóa rồi để file tool cái model này rồi nên là chúng ta chỉ file tool thôi. Rồi bây giờ mình đến phần tiếp theo là chúng ta sẽ

26:16 trên model. Đó trên model thì cũng có sẵn à code cung cấp bởi Unslot. Rồi ở đây mình chỉ lưu ý bạn cái này này đây. Nếu như bạn có GPU tốt bạn muốn trên toàn bộ một ipox thì bạn đây xóa vào đây. À số lượng ipox đây ví dụ muốn trên 1 ipox, 10 ipox hay 5 ipox đó vân vân. Nhưng mà theo kinh nghiệm của mình ý thì nếu dữ liệu nhiều ấ trên 1 2 ipox là ok rồi. Đó còn nếu như bạn trong bài này mình sẽ demo bằng cách là mình comment câu này vào mình chọn là max step bằng 30 có nghĩa là nó không quan tâm. Mình có bao nhiêu dữ liệu cả. Nó chỉ training 30 bước là nó dừng thôi. Được

27:01 chưa ạ? Thế nhưng mà thôi mình cứ để max đi. Max của mình thì sẽ khoảng độ 68 step đó gấp đôi. Đó mình sẽ trên cho các bạn xem để các bạn biết được là nó trên như thế nào và cái kết quả hành vi của model sau khi mà chúng ta trên nó sẽ ra sao nhá. Rồi nhấn này lỗ thành công không? Ok rồi đấy. Lỗ thành công rồi. Bây giờ chúng ta sẽ chuên này thêm một đoạn code nữa. Mình sẽ chên nhá. Rồi tắt cái này cho đỡ vướng. Ok rồi. Train rồi đó.

27:46 Bộ nhớ RAM vẫn còn đủ. VRAM vẫn đủ. Ok. Đây bạn để đọc một số thông số này là cái train able parameter chỉ có 3,9 triệu trên 20 tỷ tham số. Đó 20B mà 20 tỷ tham số chúng ta chỉ trên 3,9 triệu và chiếm 0,02% thôi nên nó mới nhanh. Chứ còn nếu mà chúng ta không áp dụng lora mà chúng ta trấy thì có một mút chỉ nhất là đ chúng ta trái collab free này. Được chưa ạ? Đó thì bây giờ mình sẽ đợi một chút nó hiện ra vài thông số rồi mình sẽ dừng mình tua nhanh cho các bạn đỡ phải đợi. Đây số lượng example là 270 số lượng ipox là 1 mình để 1 iox là một trên một lần thôi và số bước là 68. Được chưa ạ?

28:35 Còn các thông số khác thì nó đã làm rất là chuẩn rồi nên chúng ta cứ để mặc định. có cái thông số output dear là cái thư mục mà sẽ chứa cái output ấy thì mình để ở đây. Đó, mình có thể sửa thành tên bạn hay sửa thành cái gì tùy. Được chưa ạ? Nó sẽ output cái thông số lock của quá trình trên ra. Đấy, trên file tool trên này nó hơi chậm một chút vì chúng ta dùng đồ free mà. Đấy, 2/68 bước này. Bắt đầu chúng ta sẽ chuyên những bước đầu tiên. Đó. Đó, bước một này. L 6.3. Nó sẽ giảm dần. Bước hai lót 6.37 đấy. Đây 6387 này. Đó thì mình sẽ ờ tạm dừng video à chút nữa

29:21 nó trên xong thì mình quay lại nha. Rồi ok rồi. Như vậy mình đã đợi được nó đến bước thứ 68 rồi đó. Xong rồi đây. Tích rồi đó. Thì bây giờ mình sẽ một lần nữa mình thử xem là Los đã về 0,43 rồi đó. 0,25 rồi 0,43 nó bị à văng giữa các cái điểm cục bộ. Đó thì cái mod này nó sẽ dự đoán, nó sẽ đoán ra từ tiếp theo nó sẽ trả lời mình có đúng theo cách ngắn gọn mình mong muốn hay không. Đây sẽ thêm phần thứ ba là phần thử lại sau khi file tool. Đó mình sẽ thêm code giống hệt code ở trên thôi. Đây mình sẽ copy code trên này xuống đó. Vẫn câu hỏi như cũ nhá. Mình copy xuống đây

30:08 và mình chạy lại. Đó. Đó. Vẫn câu hỏi cũ. Bây giờ bạn xem cách mod nó hành xử, cách model nó trả lời mình nó khác như thế nào. Đó. Mình vẫn hỏi câu là bạn thường học công nghệ bằng cách nào? Rất ngắn gọn. Tôi thường học hội thảo khóa trả phí online đó. Không hề trả lời dài dòng như ở trên này. Được chưa? Đó. Rất là ngắn gọn. Đúng cách của mình rồi. Rồi. Thế thì sau khi chúng ta file tool xong thì làm thế nào để chúng ta xếp lại cái module này? Đó thì nó có thể đơn giản thôi. Đây bạn gọi lệnh là model.ssave rechain và đưa cái thư mục đấy ra. Đó file tool model chạy này. Đó bạn sẽ xuất hiện ngay một cái thư mục là file tool model. Đây ở trong sẽ có cái jon và cái

30:56 save tensor của cái model này. Thế nếu như bạn muốn load lại cái mod này thì làm thế nào? Đây thì các bạn code để load. Đây mình để load cho các bạn luôn. Đó. Đó bạn chỉ cần là unslot. Đây mình sẽ xóa if đi nhá. Đó if này mình đưa vào làm gì để cho nó đỡ chạy nhầm. lúc mình bấm nhầm nó đỡ chạy thôi. Thế còn nếu bạn muốn chạy thì bạn sửa cái chữ for chữ true là xong nhá. Đây đang để f đó thì nó sẽ load từ cái nào? Tốt từ cái file tool model rồi cấu hình max sequent leng và sau đó mình có thể hỏi những cái câu hỏi. Ví dụ đây là câu hỏi về mình copy câu hỏi ở trên xuống đây. Ví dụ hỏi câu hỏi này đi. Đó

31:41 copy nguyên liệu này xuống thôi. Đó mình có thể load model sau đó mình hỏi đáp như bình thường. Được chưa ạ? Thì các bạn mình sẽ không thử ở đây vì video cũng dài rồi. Các bạn có thể là tạo một cái cab mới. Sau đó bạn load cái file to model lên và bạn hỏi cái câu đúng câu như cũ xem nó trả lời có ngắn gọn đúng như này không nhá. Rồi đó thì hôm nay mình đã chỉ các bạn cách chúng ta tạo bộ dữ liệu gồm những câu hỏi đáp hỏi đáp để chúng ta file tool một cái model GPT OSS 20B. bằng unslot ở hoàn toàn ở trên collab không phải thuê GPU không phải mất tiền đó thì các bạn có thể áp dụng để file

32:27 tool dữ liệu cho mình để chúng ta có một cái model local chạy ngon lành và miễn phí nếu bạn thấy hay thì hãy cho mình một like và đăng ký kênh để ủng hộ mình nhé và nhớ rằng sột code và tất cả các thứ mình chia sẻ hết ở phần mô tả và bình luận của video. Bye bye.

Share

YouTube Video Summaries