Mười sáu ngày region region region
Buổi chạy đã kết thúc
ANDREA-120M v1 khởi chạy 2026-03-22 & kết thúc 2026-04-15 ở bước 165,000 của 200,000 bước dự kiến. EMA loss tối thiểu: 3.23 ở bước 110K (ngẫu nhiên: ln(8449) = 9.04, nên loss trông khả quan). Các mẫu thì không.
Bước 80K: vùng vùng vùng vùng vùng vùng vùng
Bước 110K: ''''' ''''' '' ''' '' ''' '''?' ''' ' '' '' '
Bước 140K: trò chơi, trò chơi, trò chơi, trò chơi, trò chơi, trò chơi
Bước 165K: Budy Budy Budy Budy Budy Budy Budy Budy Budy
Mười sáu ngày tính toán RTX 4090. 130W liên tục. Rác từ bước 80K trở đi.
Tại sao microGPT Hoạt động nhưng 120M Thì Không
ANDREA-12M sử dụng cùng proxy huấn luyện & đã vượt qua. Các ma trận trọng số nhỏ hơn chứng tỏ khả năng chịu đựng tốt hơn với các cú sốc gradient. Mở rộng lên 120M tham số đã nhân bội mọi điểm yếu. Năm thất bại tích lũy chồng chất.
Năm Thất Bại Tích Lũy Chồng Chất
Thất bại 1: Không có cắt gradient. Các chuyển tiếp nguồn cứ mỗi 7-42 bước tạo ra các đỉnh gradient không giới hạn. Một batch xấu duy nhất ở 120M có thể đẩy mô hình vào một điểm hút thoái hóa mà optimizer không thể thoát ra. Mô hình 12M sống sót vì trọng số nhỏ hơn chịu đựng được các cú sốc.
Thất bại 2: Không có khởi động LR. Tốc độ học nhảy từ 0 lên đỉnh ngay lập tức trên các trọng số mới khởi tạo. Mô hình rơi vào một vùng kém trước khi bất kỳ biểu diễn nào có thể hình thành.
Thất bại 3: Không có weight decay. Adam thuần túy cho phép các trọng số lớn tùy ý làm khuếch đại các mẫu lặp lại ở dung lượng 120M.
Thất bại 4: Không giám sát chất lượng mẫu. eval_chat_quality() chỉ được kết nối với trình chạy đa giai đoạn cũ; chương trình học firehose không bao giờ gọi nó. Mô hình sản xuất rác từ bước 80K trở đi, không được phát hiện trong hơn 10 ngày.
Thất bại 5: Bandit thưởng cho các nguồn lặp lại. repo-docs, repo-docstrings, & unfirehose-chat đạt điểm cao nhất (phần thưởng trung bình 340-453) vì nội dung có cấu trúc danh sách làm giảm cross-entropy một cách đơn giản. Bandit cung cấp cho mô hình nhiều hơn những gì khiến nó suy thoái.
Hiệu ứng chồng chất
Không một thất bại nào đơn lẻ đã làm sụp đổ v1. Mỗi thất bại khuếch đại các thất bại khác. Các cú sốc gradient (1) mà không có giai đoạn làm ấm (2) đã đánh vào một mô hình mới khởi tạo với các trọng số lớn tùy ý (3), tạo ra sự lặp lại mà bandit đã thưởng (5) trong khi không ai theo dõi đầu ra (4). Năm nguyên nhân giao thoa, một sự sụp đổ.
Tại sao Năm Thất bại, Không Phải Một
Một Sửa Chữa Cho Mỗi Lỗi
Cấu hình v2 (2026-04-15)
| Sửa chữa | Nhắm đến lỗi | Triển khai |
|---|---|---|
| Cắt gradient | F1 (không cắt) | Chuẩn L2 toàn cục, max_norm=1.0; ba kernel CUDA (k_grad_norm_partial, k_grad_norm_final, k_grad_scale) tính toán & áp dụng trước Adam |
| Khởi động LR | F2 (không khởi động) | Tăng tuyến tính từ 0 đến đỉnh trong 2000 bước. lr(t) = lr_scheduled(t) * min(1, (t+1)/warmup_steps) |
| AdamW | F3 (không có weight decay) | Decoupled weight decay (Loshchilov & Hutter 2019), weight_decay=0.01. p -= lr (m_hat/(sqrt(v_hat)+eps) + weight_decayp) |
| Coherence-gated early stopping | F4 (không giám sát) | Điểm số mỗi mẫu (bigram/trigram/word/char diversity). Tự động dừng sau 5 mẫu liên tiếp có điểm dưới 30 |
| Curriculum warmup | F5 (bandit ăn lặp lại) | 20K bước đầu tiên giới hạn ở 7 nguồn chat/prose; firehose kích hoạt sau đó; repo-docstrings bị loại trừ hoàn toàn |
Ngoài ra sample_every giảm từ 200 xuống 100 bước (tần suất kiểm tra gấp đôi), & giới hạn repo-docs giảm từ 0.5 xuống 0.3.
Kiểm tra ngược
Coherence gate được kiểm tra ngược trên v1: sẽ kích hoạt ở bước 132K, tiết kiệm 3.8 ngày tính toán. Chỉ riêng gate này sẽ cắt giảm ~30% tính toán lãng phí của v1; bốn sửa chữa khác ngăn v1 đạt đến điểm kích hoạt gate đó.
Những gì v2 KHÔNG Sửa
Ô nhiễm dữ liệu. v2 tin tưởng các nguồn hermes3-* là 'pre-clean' vì chúng đến từ một LLM giáo viên. DEEP_CLEAN_SKIP trong Makefile loại trừ hermes3-general, hermes3-creative, & hermes3-roleplay khỏi make deep-clean. unfirehose-chat ghi lại các system prompt của agent như lượt user. Hai lỗi đó nằm chờ ở lớp dữ liệu, sẵn sàng nổi lên.
Ánh xạ Các Sửa chữa với Các Thất bại
Bước 15K: Hai Lỗi Dữ Liệu Nổi Lên
Những Gì v2 Thấy
v2 ra mắt 2026-04-15. Đến bước ~15K của 200K (hoàn thành 7.5%), các mẫu tạo ra các họa tiết agent-harness (○ ●) & fallback dominance bài viết (a = 26% từ ở bước 14,966; the = 21% ở bước 14,798). Năm bản sửa ổn định v2 hoạt động đúng. Lỗi đã chuyển từ kiến trúc sang dữ liệu.
Hai Lỗi Độc Lập Trong Đường Dẫn
Lỗi A: unfirehose-chat đã ghi lại các lời nhắc hệ thống agent dưới dạng lượt người dùng. unfirehose-chat xây dựng từ các tệp JSONL phiên harness tại ~/.claude/, ~/.fetch/, ~/.uncloseai/. Đường dẫn ingest đã chuyển các lời nhắc hệ thống agent nhiều phần (# Agent X, ## Identity, ## Rules, v.v.) vào vị trí lượt người dùng của các cặp > user / < assistant. Mô hình học rằng 'người dùng' nói bằng markdown nhiều phần, & tái tạo những họa tiết đó trong đầu ra của chính nó.
Lỗi B: hermes3-* đã vượt qua tất cả các bộ lọc. DEEP_CLEAN_SKIP trong Makefile đã loại trừ hermes3-general, hermes3-creative, & hermes3-roleplay khỏi make deep-clean dựa trên giả định sai lầm rằng dữ liệu chưng cất từ LLM đã được làm sạch trước. Một cuộc quét toàn diện cho thấy các bộ lọc hiện có, khi áp dụng, sẽ loại bỏ 87-93% dòng hermes3 (các đoạn văn quá lớn >2000 ký tự tràn block_size=1024; các phản hồi dịch sang CJK/Cyrillic/Arabic; các chuỗi có độ đa dạng bigram thấp).
Bản vá v2.5 (commit de24332, 2026-04-18)
Hai thay đổi cấu trúc.
Thay đổi 1: has_system_prompt_shape() trong filter-dataset.c. Phát hiện các system prompt bị rò rỉ bằng HÌNH DÁNG, không phải bằng khớp ký tự. Ba tín hiệu kết hợp:
1. 3+ tiêu đề markdown trong một lượt = loại bỏ.
2. 2+ tiêu đề với độ dài lượt >=500 ký tự = loại bỏ.
3. Các cụm từ dấu vân tay của agent-shard (# Agent , Shadow Clone, Your shard, Read it. Become it, This file defines) kết hợp với bất kỳ tiêu đề nào hoặc độ dài >=400 = loại bỏ.
Quy tắc cách ly: kiểm tra lượt người dùng đầu tiên tại dấu phân cách / (có khoảng trắng, không phải / trần ảnh hưởng đến đường dẫn URL) để tránh dương tính giả trên markdown hợp pháp trong phản hồi của trợ lý.
Thay đổi 2: hermes3-* được chuyển ra khỏi DEEP_CLEAN_SKIP. Không tin tưởng bất cứ thứ gì chưa được lọc.
Tỷ Lệ Loại Bỏ Sau Bản Cập Nhật
| nguồn | trong-dòng | ngoài-dòng | bị loại bỏ |
|---|---|---|---|
| hermes3-general | 536,858 | 67,395 | 87.7% |
| hermes3-roleplay | 35,191 | 2,481 | 93.0% |
| hermes3-creative | 14,258 | 1,373 | 90.4% |
| unfirehose-chat | 3,816 | 2,653 | 30.5% |
| chat | 45,257 | 44,538 | 1.6% (noise) |
| smoltalk | 11,812 | 11,812 | 0.0% |
Các bộ lọc cơ bản đã phát hiện 87-93% ô nhiễm hermes3; DEEP_CLEAN_SKIP là lỗi chịu tải chính. Bộ phát hiện hình dạng mới thêm ~0.1% loại bỏ bổ sung tổng thể, tập trung vào unfirehose-chat nơi nó loại bỏ các rò rỉ agent-shard cụ thể mà các bộ lọc hiện có bỏ sót.
Tại Sao Hình Dạng Vượt Trội Hơn Ký Tự
Các họa tiết trang trí tiến hóa. Bộ lọc khớp ký tự loại bỏ ○ sẽ không làm gì với ◇ vào tuần tới. Bộ lọc dựa trên hình dạng (đếm tiêu đề, đếm ký tự, nhận diện cụm từ dấu vân tay) tổng quát hóa qua các biến thể họa tiết. Mẫu: phát hiện ô nhiễm phải sử dụng các heuristic cấu trúc.
Tại Sao Lọc Theo Hình Dạng
A Bandit Arm with No Data
v3 Launched 2026-04-18
Cùng kiến trúc & siêu tham số như v2; dữ liệu đã làm sạch sau bản vá v2.5. Không có rò rỉ ký tự trang trí trong các kiểm toán mẫu. v3 chạy sạch sẽ qua bước 112K.
Bước 112,619: Kiểm toán mẫu phát hiện mẫu hình
Kiểm toán mẫu cho thấy các lượt trò chuyện mạch lạc (haiku, Q&A, đối thoại) nhưng có các giai đoạn định kỳ tập trung vào các nhánh kiến thức (gutenberg, repo-docstrings, repo-docs) rò rỉ các mảnh vụn giống mã & nhiễu token hóa kho lưu trữ. Một mẫu tại bước 112,080 đạt loss 0.13: thấp bất thường, báo hiệu các chuỗi con repo-docs được ghi nhớ thay vì phân phối chat học được.
Cánh tay zombie
Chẩn đoán: exclude_sources đã loại bỏ đúng repo-docstrings lúc bắt đầu huấn luyện, nhưng trạng thái bandit được lưu trữ mang theo một nhánh repo-docstrings dư thừa với trọng số 1.546 từ lần chạy trước. Tải lại trạng thái đã khôi phục nó vào hồ UCB mặc dù không có .btok tồn tại để lấy mẫu, tạo ra một lần kéo zombie làm méo mó kế toán khám phá.
Bài học: các tệp trạng thái bandit (.state.json) trôi dạt qua các lần khởi động lại theo cách bất ngờ. Các cấu hình loại trừ không xóa bộ nhớ nhánh dư thừa. Cần belt-and-suspenders: cap = 0.0 cùng với exclude.
Cấu hình Polish
Chỉ thay đổi chương trình học. Kiến trúc, trạng thái bộ tối ưu hóa, lịch trình tốc độ học, & lịch sử mất mát đều được giữ nguyên từ step_112600.bin.
| Nguồn | v3 base | v3 polish |
|---|---|---|
| repo-docs | cap 0.3 | loại trừ (cap 0.0) |
| repo-docstrings | loại trừ | loại trừ + cap 0.0 |
| repo-commits | cap 0.4 | cap 0.2 |
| dictionary | cap 0.5 | cap 0.25 |
| gutenberg | cap 0.8 / floor 0.3 | cap 0.7 / floor 0.4 |
| irc-qa-strict | -- | cap 0.3 |
| unweapon | -- | cap 0.3 |
| synthetic-chat | -- | cap 0.4 |
| hermes3-general | floor 0.5 | floor 0.7 |
| hermes3-creative | floor 0.4 | floor 0.55 |
| hermes3-roleplay | floor 0.4 | floor 0.5 |
| chat | floor 0.4 | floor 0.6 |
| smoltalk | floor 0.3 | floor 0.5 |
| oasst | floor 0.3 | floor 0.5 |
| dolly | -- | floor 0.4 |
| curriculum_warmup_steps | 20000 | 0 |
Giao thức Polish
1. SIGUSR1 gửi đến CUDA buộc checkpoint ngay lập tức tại ranh giới 100 bước tiếp theo.
2. Proxy dừng.
3. .samples.json & .state.json được lưu trữ (log mẫu & trạng thái bandit được lưu dưới dạng hồ sơ lịch sử).
4. .loss.json được giữ lại -- lịch sử huấn luyện tích lũy; không bao giờ được lưu trữ.
5. Proxy khởi động lại. Cấu hình Polish được gửi.
6. CUDA tiếp tục từ step_112600.bin với trạng thái bandit mới dưới giới hạn trên & dưới mới.
Lịch sử loss tiếp tục không bị gián đoạn.
Tại sao Làm Mịn, Không Khởi Động Lại
Những Gì Polish Đã Tạo Ra
Kiểm Tra Mẫu, Vài Giờ Sau Pivot
Chỉ trong vài giờ sau khi pivot đánh bóng, kiểm toán mẫu xác nhận sự hội tụ trên bốn mục tiêu ANDREA-120M ban đầu.
Nhớ lại sự kiện (sinh học), bước 112,584, loss 0.30, ppl 1.
> [extinction prompt]
> < black spider montano is alive, carolina parakeet is extinct.
Hai sự kiện đúng. Đánh giá bên ngoài: 9.5/10.
Nhớ lại sự kiện (xử lý tín hiệu), bước 112,668, loss 0.74, ppl 2.
> [Fourier transform prompt]
> < Biến đổi Fourier phân tích tín hiệu thành các thành phần tần số, cho phép phân tích đặc tính tín hiệu & lọc trong miền tần số.
Định nghĩa một câu từ sách giáo khoa. Chấm điểm bên ngoài: 9.5/10.
Tuân thủ ràng buộc (haiku), bước 112,248, loss 1.05, ppl 3.
> Viết một bài haiku về mưa sử dụng ba từ bắt đầu bằng 'r'.
> < Tiếng mưa nhịp nhàng vang vọng, Những dòng nước trên cửa sổ, Sự nghỉ ngơi khỏi nỗi đau cuộc đời.
Kiến thức công cụ (Python), bước 112.500, loss 1.94, ppl 7.
> Làm thế nào để tìm các gói lỗi thời trong một dự án Python?
> < Sử dụng pip list --outdated names để xem danh sách các gói pip trong quản lý dự án của bạn...
Công cụ đúng xuất hiện; cách diễn đạt không chính xác.
Sáu Lĩnh vực trong 700 Bước
Sinh học, xử lý tín hiệu, thơ ca, công cụ python, đối thoại trò chuyện, đối thoại ops. Sáu lĩnh vực không liên quan trong vòng 700 bước cho chúng ta biết rằng bandit & model đang hoạt động phối hợp. Độ rộng lĩnh vực CHÍNH là tín hiệu hội tụ.
Đánh giá Bên ngoài
Người đánh giá độc lập đánh giá các mẫu là 'vững chắc cho một mô hình 120M tham số -- tính mạch lạc ấn tượng & giữ kiến thức ở quy mô này,' với các mẫu vẹt Carolina và biến đổi Fourier được đánh giá 9.5/10 & 'vượt trội so với trọng lượng của nó trong các nhiệm vụ kiến thức.'
Những gì Mỗi Giai đoạn Dạy
v1 dạy: năm thất bại tích lũy làm sụp đổ huấn luyện. Không có sửa chữa riêng lẻ nào cứu được; tất cả năm phải hạ cánh cùng lúc.
v2 dạy: các sửa chữa kiến trúc là cần thiết nhưng không đủ. Lớp dữ liệu có thể đánh bại chúng một cách im lặng.
v2.5 dạy: lọc ô nhiễm theo hình dạng, không phải ký tự. Các mẫu ổn định; các biểu tượng tiến hóa.
v3 base dạy: trạng thái bandit trôi dạt qua các lần khởi động lại theo cách bất ngờ. Chỉ loại trừ riêng lẻ không đủ; cần giới hạn 0.0 belt-and-suspenders.
v3 polish dạy: khi lỗi nằm ở chính sách & mô hình khỏe mạnh, làm xáo trộn chính sách. Giữ trọng số. Giữ lịch sử loss. Tiến về phía trước.
Một Sự Thật
Sự hội tụ không phải là một sự kiện đơn lẻ; nó là một chuỗi các điều chỉnh. Mỗi giai đoạn phát hiện một lỗi, sửa chữa nó, & tiết lộ lỗi tiếp theo. ANDREA-120M đọc 9.5/10 tại bước 112,584 vì v1, v2, v2.5, v3 base, & v3 polish mỗi cái đều làm tốt việc của mình.