Hacker News: AI bài nổi bật
85

Mô hình

Mini-AGI: Mô hình học liên tục đột phá, chạy mượt trên GPU 8GB VRAM

(giờ Việt Nam)

Tóm tắt AI

Mini-AGI là mô hình ngôn ngữ học liên tục cấp độ byte, cho phép huấn luyện từ đầu trên GPU tiêu dùng 8GB VRAM bằng cách tận dụng lưu trữ đĩa thay vì giới hạn VRAM. Dự án hứa hẹn giải quyết vấn đề quên lãng thảm họa mà không cần quy trình tinh chỉnh riêng biệt.

Bản dịch AI

GitHub - volotat/mini-AGI: Continual learning model trained from scratch on 8GB VRAM laptop with batch-1 stream of data.

mini-AGI là một mô hình ngôn ngữ cấp byte có khả năng học liên tục, tự lắp ráp kiến trúc riêng, tự huấn luyện từ đầu trên một GPU đơn lẻ với 8 GB VRAM và không ngừng học hỏi từ mọi dữ liệu nó đọc được. Mô hình lưu trữ trọng số dưới dạng các tệp tin thông thường trên ổ cứng và nạp chúng vào card đồ họa khi cần, do đó số lượng tham số bị giới hạn bởi dung lượng ổ cứng trống thay vì VRAM. Nó tự mở rộng năng lực trong quá trình huấn luyện khi thiếu hụt, loại bỏ những phần không được sử dụng và đọc dữ liệu thông qua chính lộ trình mã nguồn mà nó sử dụng để phục vụ. Mô hình này nhắm đến các máy tính cá nhân hoặc laptop có GPU với ít nhất 8 GB VRAM.

LƯU Ý: Hiện tại đây chỉ là một mô hình thử nghiệm nhỏ. Đừng kỳ vọng vào các khả năng ở cấp độ tiên tiến. Đây là một thử nghiệm nhỏ nhằm chứng minh rằng việc học liên tục từ một luồng dữ liệu duy nhất mà không bị "quên thảm họa" (catastrophic forgetting) là hoàn toàn khả thi. Hơn nữa, điều này có thể thực hiện trên phần cứng khiêm tốn. Điều đó có nghĩa là hầu như ai cũng có thể tự huấn luyện phiên bản mô hình của riêng mình (hoặc đơn giản là tiếp tục huấn luyện mô hình này) theo cách họ thấy phù hợp. Khả năng của mô hình sẽ bị giới hạn bởi phần cứng thực tế, quy mô và chất lượng dữ liệu sẵn có, cũng như thời gian mà người dùng sẵn sàng dành ra để huấn luyện.

Đây là giao diện bảng điều khiển min-run. Mô hình được trỏ đến kho dữ liệu (corpus) để liên tục đọc và học hỏi.

Lịch sử - đây là các mẫu từ toàn bộ lịch sử huấn luyện cho đến nay. Bạn có thể tự mình kiểm tra để thấy mô hình đã cải thiện như thế nào trong suốt quá trình huấn luyện/đọc kho dữ liệu.

Các trọng số hiện chưa được công bố. Quá trình chạy vẫn đang ở lượt đọc đầu tiên qua kho dữ liệu, các trọng số sẽ được cập nhật sau khi hoàn tất toàn bộ, dự kiến mất khoảng vài tuần với tốc độ hiện tại.

Động lực

Mọi mô hình ngôn ngữ mà bạn thực sự sở hữu ngày nay đều là mô hình do người khác huấn luyện và sau đó đóng băng. Bạn có thể tinh chỉnh (fine-tune) ở các cạnh của nó, nhưng bạn không thể huấn luyện từ đầu trên phần cứng của chính mình, và bạn không thể tiếp tục huấn luyện nó dựa trên những gì bạn làm hàng ngày - ngay khi bạn thử, nó sẽ quên đi những gì đã biết trước đó. Kết quả là một mô hình cá nhân luôn là mô hình của người khác với một lớp mỏng dữ liệu của bạn bên trên, và nó ngừng học ngay ngày nó được phát hành.

Mô hình mini-AGI có dấu chân GPU đủ nhỏ để có thể huấn luyện từ đầu đến cuối trên một card đồ họa phổ thông, và nó được xây dựng để quá trình huấn luyện không bao giờ phải dừng lại. Nó đọc luồng ký tự theo từng đoạn, thực hiện bước gradient trên mỗi đoạn, và chính lộ trình đó cũng phục vụ cho việc tạo văn bản. Không có chế độ tinh chỉnh riêng biệt và không có nền tảng đóng băng: việc đọc và việc được huấn luyện là cùng một sự kiện.

Ba ràng buộc định hình mọi thứ khác trong thiết kế:

Mô hình thực sự là của bạn: được huấn luyện trên phần cứng của bạn, trên dữ liệu của bạn, liên tục học hỏi từ mọi cuộc trò chuyện bạn có với nó, và không ai khác có thể lấy nó đi hoặc tắt nó.

Kiến trúc hoạt động như thế nào

Các ký tự (byte) không đi qua một chồng các lớp cố định như trong một LLM truyền thống. Thay vào đó, chúng đi qua hai khối tiền xử lý dày đặc (dense prelude blocks) và sau đó qua một khối tái phát (recurrent block) được áp dụng tối đa 24 lần, mỗi lần áp dụng sẽ chọn các chuyên gia (experts) riêng từ một nhóm dùng chung. Trạng thái tiềm ẩn giữa các lần áp dụng không bao giờ bị giải mã - nó được hợp nhất với đầu vào đã nhúng bởi một bộ điều hợp (adapter) mỗi vòng, vì vậy vòng lặp không thể lệch khỏi văn bản mà nó đang đọc.

Ba khối riêng biệt, tối đa 26 lần áp dụng khối cho mỗi ký tự.

Đây là kiến trúc đang tự lắp ráp, từng ký tự một, được ghi lại từ mô hình đang chạy trực tiếp - không có gì ở đây được vẽ thủ công.

Mỗi ô bên trái là một chuyên gia; màu sắc đại diện cho danh tính của chuyên gia và giữ nguyên trong suốt clip. Một hàng là một lần áp dụng khối tái phát, và tám ô trong đó là tám chuyên gia mà hàng đó thực sự đã chạy. Chồng dữ liệu phát triển xuống dưới khi mô hình tiếp tục, và đường màu hổ phách là nơi quá trình dừng lại - các hàng màu xám bên dưới là các tính toán mà mô hình từ chối thực hiện.

Dấu vết bên phải là số lượng hàng mà mỗi ký tự cần. Nó di chuyển liên tục giữa 4 và 14 so với mức trần là 24, và dấu mũ bên dưới văn bản cho biết ký tự nào đang được đọc.

Các vị trí là dạng xoay (rotary) và không mang tham số đã học, đó là lý do tại sao cửa sổ ngữ cảnh có thể được mở rộng bằng cách tiếp tục huấn luyện thay vì khởi tạo lại bất cứ thứ gì.

...và điều tương tự khi nó viết.

Clip trên là mô hình đang đọc - mọi ký tự đều là văn bản giữ lại (held-out text) mà nó được hiển thị. Clip này là mô hình đang viết: nó được mồi bằng 2.500 ký tự của một câu chuyện giữ lại và sau đó tự tiếp tục, vì vậy văn bản màu xám là những gì nó được cung cấp và văn bản màu xanh lá cây hoàn toàn là của riêng nó. Giải mã tham lam (greedy decoding), không lấy mẫu - chạy hai lần bạn sẽ nhận được cùng một câu.

Hai điều đáng chú ý. Chồng dữ liệu hoạt động theo cùng một cách, vì việc tạo và đọc là cùng một lượt truyền xuôi (forward pass) trong mô hình này - sự khác biệt duy nhất là liệu ký tự tiếp theo đến từ tệp tin hay từ argmax của chính mô hình. Và việc viết tốn nhiều độ sâu hơn việc đọc: khoảng 9,9 hàng cho mỗi ký tự so với 8,0 trên cùng một chủ đề. Các đường chấm đánh dấu nơi tập hợp làm việc (working set) được chọn lại, xảy ra sau mỗi 64 ký tự; trong clip này không có gì thay đổi, vì lời nhắc đã kéo đúng các chuyên gia vào card đồ họa.

Những gì nó tạo ra, tiếp nối một câu chuyện về cây anh đào:

Họ làm việc cùng nhau và nhìn thấy bờ biển yêu thích của mình. Một ngày nọ, họ muốn chơi với bờ biển yêu thích của mình. Họ muốn chơi với nó, nhưng

Đúng ngữ pháp và đúng chủ đề. Hiện tại nó vẫn lặp lại chính mình - đó là một bức tranh công bằng về vị trí của mô hình ở mức 243 triệu ký tự.

Phân trang hoạt động như thế nào

Mỗi chuyên gia là một tệp trên ổ cứng chứa trọng số và các khoảnh khắc Adam của nó. Phía trên ổ cứng là hai bộ nhớ đệm và một tập hợp làm việc:

Trước mỗi đoạn, mô hình được hỏi văn bản sắp đọc cần gì, và câu trả lời trở thành tập hợp làm việc. Nhu cầu được chấm điểm dựa trên các trạng thái ẩn mà các vị trí gọi (call sites) thực sự định tuyến khi đọc đoạn trước - một nhúng không mang ngữ cảnh, vì vậy việc chấm điểm trên các nhúng thô sẽ khiến mọi chủ đề đều yêu cầu cùng một chuyên gia.

Hai quy tắc mà dự án tuân thủ:

Vì lựa chọn được thực hiện từ đoạn trước, nó không thể nhìn thấy văn bản mà nó sắp dự đoán. Điều ngăn tập hợp làm việc không bị xáo trộn bởi nhiễu là độ trễ (hysteresis) - một ứng viên phải vượt qua người đang cư trú một khoảng cách nhất định để thay thế nó, và một người mới đến sẽ được an toàn trong dwell_chars (số ký tự dừng) khi đọc.

Sự phát triển và loại bỏ hoạt động như thế nào

Nhóm chuyên gia phát triển khi thiếu năng lực và thu hẹp khi các phần của nó không còn được yêu cầu.

Các chuyên gia mới được thêm vào dựa trên suy đoán, với một cổng nhỏ để chúng hầu như không thay đổi gì, và chỉ được giữ lại nếu có thứ gì đó tiếp tục yêu cầu chúng. Một chuyên gia mới được xây dựng bằng cách tái tổ hợp - toàn bộ các đơn vị ẩn được lấy từ một vài chuyên gia hiện có - vì bản sao của một phụ huynh không đủ mới lạ để đáng được định tuyến tới, và một chuyên gia ngẫu nhiên không tính toán được gì đáng để định tuyến. Điều hiệu quả là sự mới lạ được lắp ráp từ các phần đã được huấn luyện.

Sự phát triển bị từ chối trừ khi mọi phanh đều đồng ý:

"Chết" có nghĩa là không được giải quyết. Cả phanh tăng trưởng và bộ loại bỏ đều đọc xem đã bao lâu kể từ khi có bất cứ thứ gì yêu cầu một chuyên gia, và không bao giờ dựa vào cổng (gate) của nó. Đây là phát hiện hữu ích nhất trong kho lưu trữ: cổng ở đây không chỉ không có thông tin mà còn chống lại việc dự đoán. Các cổng nhỏ nhất thuộc về các chuyên gia bận rộn nhất - một chuyên gia hoạt động như một cái hố, được chọn liên tục và đóng góp ít trên mỗi ký tự, sẽ đọc là "chết" trong bài kiểm tra cổng, trong khi một chuyên gia có cổng cao mà không ai muốn trong hàng trăm nghìn phân đoạn lại đọc là "sống".

Một chuyên gia mới được an toàn trong toàn bộ cửa sổ sinh tồn bất kể thế nào, vì vậy nó không thể bị đánh giá trước khi có cơ hội được chọn. Khi mô hình phát triển một chuyên gia, một tệp mới xuất hiện; khi nó loại bỏ một chuyên gia, tệp đó sẽ bị xóa.

Học liên tục hoạt động như thế nào

Huấn luyện trên một luồng duy nhất, mỗi lần một chủ đề, là công thức kinh điển cho việc quên thảm họa. Đọc nửa triệu ký tự về cờ vua với tốc độ học của chính các chuyên gia sẽ đưa bảy chủ đề khác từ 1,12 lên 3,73 nats.

Tốc độ học của thân (trunk learning rate) là cơ chế. Thân - các nhúng, sự chú ý (attention), bộ định tuyến, đầu dừng (halting head) - là phần mà mọi ký tự đi qua, và nó mang 97,6% chuẩn gradient bình phương. Chạy nó ở mức 0,1 lần tốc độ của các chuyên gia sẽ đưa việc quên từ +2,2300 xuống +0,0067 nats, tức là 99,84% tiến trình được giữ lại so với cơ hội.

Đây là phép đo mà toàn bộ thiết kế dựa vào. Mô hình đọc 524.000 ký tự cờ vua và không gì khác, ở batch 1, và trục y bên trái là những gì đã xảy ra với bảy chủ đề mà nó không đọc - số không có nghĩa là không có gì bị quên, đi lên có nghĩa là tệ hơn. Ba đường, mỗi đường một biến. Hai trong số đó leo lên +2,2 và +2,6 nats, nghĩa là mô hình mất hầu hết những gì nó biết. Đường thứ ba, với tốc độ học của thân bằng một phần mười của các chuyên gia, không bao giờ rời khỏi sàn: +0,0067 nats sau nửa triệu ký tự của một chủ đề duy nhất.

Đường đứt nét màu xám là đối chứng - cùng một thăm dò với tất cả bảy chủ đề được đọc, nơi việc quên là không thể theo cấu trúc.

Mini-AGIHọc liên tụcTối ưu hóa GPULLMCông nghệ AI
Đọc bài gốc

Bài viết được AI dịch và tổng hợp tự động từ Hacker News: AI bài nổi bật. Liên kết bài gốc ở phía trên. AIHOT.vn luôn dẫn nguồn đầy đủ — nếu bạn thấy điểm cần chỉnh sửa, hãy gửi ý kiến tại trang phản hồi.