ai-425Đọc toàn bộ đề miễn phí

Lọc top-k cho logits

Khi giải mã văn bản, chiến lược top-k chỉ giữ lại k token có logit cao nhất và loại

AICơ bản12 phút

Tiến độ của tôi ở bài này

Điểm và code bạn nộp được lưu vào tài khoản sau khi chấm bài.

Đang tải điểm của bạn…

Kiến thức và chủ đề

samplingrankingdecodingentry-ramp

Kiến thức tiên quyết: python-basics, python-sorting.

Nội dung đề bài

Mô tả bài toán

Khi giải mã văn bản, chiến lược top-k chỉ giữ lại k token có logit cao nhất và loại bỏ phần còn lại trước khi lấy mẫu. Bước này chặn mô hình sinh ra các token quá kém, đồng thời giữ tính đa dạng trong k lựa chọn.

Yêu cầu

Viết hàm top_k_filter(logits, k) trả về danh sách chỉ số của k token được giữ lại.

Quy ước nộp bài

Nộp hàm top_k_filter trong solution.py. Hệ thống gọi hàm trực tiếp, so danh sách chỉ số với kỳ vọng; không đọc stdin và không in ra stdout.

Input

  • logits: dãy điểm số.
  • k: số token giữ lại, số nguyên dương.

Output

Danh sách chỉ số được giữ, sắp xếp tăng dần. Nếu k không nhỏ hơn số token thì giữ tất cả. Khi logit bằng nhau, ưu tiên chỉ số nhỏ hơn.

Ràng buộc

  • k phải là số nguyên dương; ném ValueError khi k <= 0.
  • Kết quả là danh sách chỉ số tăng dần, không trả về giá trị logit.

Ví dụ 1

Input

top_k_filter(logits=[1.0, 3.0, 2.0, 5.0], k=2)

Output

[1, 3]

Ví dụ 2

Input

top_k_filter(logits=[1.0, 3.0, 2.0, 5.0], k=4)

Output

[0, 1, 2, 3]

Giải thích

Với logits = [1.0, 3.0, 2.0, 5.0] và k = 2, hai giá trị lớn nhất nằm ở chỉ số 3 và 1, nên kết quả sắp tăng dần là [1, 3].

3 cấp độ gợi ýMở dần khi bạn thật sự cần hỗ trợ.
Phân tích lời giảiGiải thích hướng tư duy và thuật toán.
Code tham khảoDùng để đối chiếu sau khi tự làm.

Gợi ý và lời giải chỉ mở sau khi bạn bấm Nộp bài. Giáo viên và quản trị viên mở được ngay.

Góp ý & báo lỗi bài tập

Đề bài chưa rõ, test có vấn đề hay bạn có ý tưởng giúp bài tốt hơn? Gửi cho đội ngũ AI Empire nhé — mỗi góp ý đều được đọc.

Nhóm Zalo