English· Español· Deutsch· Nederlands· Français· 日本語· ქართული· 繁體中文· 简体中文· Português· Русский· العربية· हिन्दी· Italiano· 한국어· Polski· Svenska· Türkçe· Українська· Tiếng Việt· Bahasa Indonesia

un

khách
1 / ?
trở lại bài học

CUDA Báo cáo Chỉ số Tài liệu

Một Huấn luyện viên CUDA Biết Tài liệu Nào Được Lấy Mẫu

Mỗi bước huấn luyện lấy một chuỗi từ file .btok nhị phân, chứa nhiều tài liệu nối tiếp nhau. CUDA ghi lại chỉ số tài liệu cùng với loss: step 47213, source=gutenberg, doc=128407, loss=2.81. Một proxy thu thập các báo cáo này & duy trì tập hợp các chỉ số tài liệu duy nhất đã thấy mỗi nguồn.


Từ Đếm đến Phủ sóng

Phủ sóng của một nguồn = unique_docs_seen / n_docs. Một vài ví dụ:


Nguồnn_docsunique seenphủ sóng
gutenberg512,000154,00030.1%
hermes3-general67,39547,17670.0%
dictionary88,00088,000100.0%
synthetic-chat1,4001,400100.0%

Các nguồn nhỏ nhanh chóng bão hòa. Các nguồn lớn trôi xuống dưới 50% trong nhiều tuần. Thưởng phủ sóng thưởng cho bandit khi truy cập các tài liệu mà nó chưa lấy mẫu trong một nguồn.


Coverage bonus per source


Công thức thưởng

Thưởng phủ sóng tăng tuyến tính từ 1.3x ở mức phủ sóng 0% xuống 1.0x ở mức phủ sóng 50%, sau đó giữ nguyên ở 1.0x trên 50%:


nếu coverage < 0.5:
bonus = 1.0 + 0.3 * (1.0 - coverage / 0.5)
else:
bonus = 1.0

Một nguồn có độ bao phủ 0% nhận được 1.3x; nguồn có 25% nhận 1.15x; nguồn có 50% giảm xuống 1.0x. Trên 50%, không áp dụng thưởng.

Tính toán Thưởng

Một lần chạy với độ bao phủ gutenberg ở 30% & hermes3-general ở 70%. Tính toán hệ số nhân thưởng độ bao phủ cho từng nguồn. Hãy hiển thị phép tính của bạn.

Hai Tín Hiệu Tươi Mới Khác Biệt

Cùng Mục Tiêu, Độ Chi Tiết Khác Nhau

ANDREA có hai cơ chế ngăn chặn việc huấn luyện quá mức trên một nguồn duy nhất. Chúng nghe có vẻ tương tự; chúng đo lường những thứ khác nhau.


Epoch penalty. Theo dõi tổng số lần kéo quá mức. Khi lifetime_pulls / n_docs > 1.0, một nguồn đã lý thuyết quấn qua mọi tài liệu ít nhất một lần. Penalty = 1 / (1 + epochs). Một nguồn synthetic-chat với 1.4K tài liệu tại 5,600 lifetime pulls (epochs = 4) nhận penalty 1/5 = 0.2x. Epoch counts tồn tại qua các lần khởi động lại; chúng không bao giờ giảm.


Coverage bonus. Theo dõi độ mới của từng tài liệu trong một nguồn. CUDA báo cáo chỉ số tài liệu; proxy duy trì một tập hợp cho mỗi nguồn. Các nguồn dưới 50% coverage của các tài liệu duy nhất nhận được lên đến 1.3x. Coverage thưởng cho việc khám phá phần đuôi của nguồn; epoch penalty phạt việc cạn kiệt nó.


Tại Sao Cả Hai Đều Quan Trọng


Tín hiệuTheo dõiHướngGiới hạnDuy trì qua khởi động lại
Phạt epochtổng hợp kéo quá mứcgiảm1/(1+e)
Thưởng phủ sóngđộ mới mỗi tài liệutăng1.3x

Một nguồn gutenberg 500K-tài liệu có thể giữ dưới 50% phủ sóng suốt toàn bộ quá trình huấn luyện 200K mà không bao giờ tiếp cận epoch=1. Phạt epoch bỏ qua nó; thưởng phủ sóng chủ động kéo bandit về phía 70% đuôi chưa khám phá của gutenberg.


Ngược lại, một nguồn synthetic-chat 1.4K bão hòa phủ sóng (100%) trong vài nghìn lần kéo; thưởng phủ sóng giữ ở 1.0x trong khi phạt epoch tăng lên.

Phân biệt Hai Khái Niệm

Hãy tưởng tượng hai nguồn giữa quá trình huấn luyện: nguồn A có 1.400 tài liệu & 8.400 lượt kéo tổng đời. Nguồn B có 500.000 tài liệu & 80.000 lượt kéo tổng đời; proxy đã ghi nhận 75.000 chỉ số tài liệu duy nhất cho B cho đến nay. Tín hiệu nào (phạt epoch hay thưởng coverage) chi phối trọng số bandit của mỗi nguồn, & tại sao?

Thưởng Coverage Mang Lại Gì Cho ANDREA

Chế Độ Thất Bại Mà Nó Ngăn Chặn

Không có theo dõi cấp độ tài liệu, một bandit chọn dựa trên phần thưởng từng bước sẽ chọn các chuỗi .btok một cách tham lam. Một kho tài liệu gutenberg 500K tài liệu chứa vài nghìn chuỗi có entropy chéo thấp (văn xuôi nhất quán, từ vựng phổ biến). Bandit chỉ dựa trên phần thưởng sẽ quay lại những chuỗi đó lặp lại vì chúng liên tục tạo ra tín hiệu phần thưởng mạnh.


Kết quả: một kho tài liệu 500K tài liệu chỉ được lấy mẫu qua khoảng 2K-5K chuỗi riêng biệt qua 200K bước huấn luyện. Mô hình ghi nhớ những chuỗi đó mà không bao giờ thấy phần còn lại. Dung lượng bị lãng phí; độ bao phủ bị kẹt dưới 1%.


Phần Thưởng Bao Phủ Mang Lại Điều Gì

1.3x ở 0% bao phủ, giảm dần xuống 1.0x ở 50%. Sự thúc đẩy đó lan truyền qua lựa chọn UCB1: các arm có độ bao phủ thấp vẫn cạnh tranh ngay cả khi phần thưởng mỗi lần kéo giảm. Bandit khám phá phần đuôi một cách có chủ đích thay vì ngẫu nhiên.


Qua một quá trình chạy 200K bước trên gutenberg 500K tài liệu, phần thưởng bao phủ thường nâng độ bao phủ quan sát được từ ~3% (không có thưởng) lên ~25-30% (có thưởng). Cùng lượng tính toán, chạm đến tám đến mười lần nhiều tài liệu hơn.


Nơi Lưu Trữ Theo Dõi


Thành phầnTrách nhiệm
microgpt_cuda.cuBáo cáo chỉ số tài liệu cho mỗi bước huấn luyện
training_proxy.pyDuy trì tập seen_docs cho mỗi nguồn
training_proxy.pyTính toán độ bao phủ, áp dụng phần thưởng bonus cho bandit reward
training_proxy.pyLưu trữ seen_docs vào .state.json qua các lần khởi động lại

Kết nối với một Lựa chọn Kỹ thuật Cụ thể

Giả sử bạn loại bỏ phần thưởng phủ sóng khỏi quá trình huấn luyện ANDREA-120M. Dự đoán một hậu quả cụ thể cho nhánh gutenberg (có hơn 500K tài liệu) trong một lần chạy 200K bước. Tham chiếu đến phần trăm phủ sóng, sự đa dạng tài liệu, hoặc chất lượng mẫu downstream.