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

Phạt lặp cho một token

Khi sinh văn bản, mô hình dễ lặp lại token vừa sinh. Phạt lặp giảm logit của token đã

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ủ đề

decodingsamplingpenaltyentry-ramp

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

Nội dung đề bài

Mô tả bài toán

Khi sinh văn bản, mô hình dễ lặp lại token vừa sinh. Phạt lặp giảm logit của token đã xuất hiện để mô hình ít chọn lại nó. Với logit dương, phép phạt chia cho hệ số; với logit âm, phép phạt nhân (đẩy xa 0 hơn) để bảo toàn chiều.

Yêu cầu

Viết hàm apply_repetition_penalty(logits, token_index, penalty) trả về dãy logit mới sau khi phạt đúng token được chỉ định.

Quy ước nộp bài

Nộp hàm apply_repetition_penalty trong solution.py. Hệ thống gọi hàm trực tiếp, so dãy giá trị với kỳ vọng; không đọc stdin và không in ra stdout.

Input

  • logits: dãy điểm số.
  • token_index: chỉ số token cần phạt.
  • penalty: hệ số phạt, số thực dương.

Output

Dãy logit mới giống dãy cũ trừ vị trí token_index. Nếu logit tại đó dương thì chia cho penalty, nếu không dương thì nhân với penalty.

Ràng buộc

  • penalty phải lớn hơn 0; ném ValueError khi penalty <= 0.
  • token_index phải nằm trong dãy; ném ValueError nếu ngoài phạm vi.
  • Chỉ thay đổi logit tại token_index, giữ nguyên các vị trí khác.

Ví dụ 1

Input

apply_repetition_penalty(logits=[2.0, -1.0, 0.5], token_index=0, penalty=2.0)

Output

[1.0, -1.0, 0.5]

Ví dụ 2

Input

apply_repetition_penalty(logits=[2.0, -1.0, 0.5], token_index=1, penalty=2.0)

Output

[2.0, -2.0, 0.5]

Giải thích

Với logits = [2.0, -1.0, 0.5], token_index = 0 và penalty = 2.0, logit dương 2.0 bị chia thành 1.0, nên kết quả là [1.0, -1.0, 0.5].

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