LiveCodeBench აგროვებს კოდირების ამოცანებს დროთა განმავლობაში სხვადასხვა კოდირების კონკურსის პლატფორმებიდან, თითოეული ამოცანის გამოშვების თარიღის მითითებით. ეს ანოტაციები გამოიყენება მოდელების შესაფასებლად სხვადასხვა დროის შუალედში გამოშვებულ ამოცანებზე, რაც იძლევა „დროში შეფასების“ სტრატეგიას, რომელიც ხელს უწყობს კონტამინაციის (მონაცემთა დაბინძურების) გამოვლენას და თავიდან აცილებას. ჩვეულებრივი კოდის გენერაციის ამოცანის გარდა, LiveCodeBench ასევე აფასებს თვითშეკეთებას (self-repair), ტესტის გამოსავლის პროგნოზირებას (test output prediction) და კოდის შესრულებას (code execution), რითაც უზრუნველყოფს კოდირების შესაძლებლობების უფრო ჰოლისტურ ხედვას, რაც აუცილებელია ხელოვნური ინტელექტის შემდეგი თაობის პროგრამირების აგენტებისთვის. LiveCodeBench-ის ამოცანები შედგენილია კოდირების კონკურსის პლატფორმებიდან: LeetCode, AtCoder და CodeForces. ეს ვებგვერდები პერიოდულად მასპინძლობენ კონკურსებს, რომლებიც შეიცავს ამოცანებს მონაწილეთა კოდირებისა და პრობლემის გადაჭრის უნარების შესაფასებლად. ამოცანები მოიცავს ბუნებრივი ენის პრობლემურ აღწერას მაგალითი შეყვანა-გამომავალი მონაცემებით, ხოლო მიზანია პროგრამის დაწერა, რომელიც გაივლის ფარული ტესტების ნაკრებს. კონკურსებში ათასობით მონაწილე იღებს მონაწილეობას, რაც უზრუნველყოფს ამოცანების სიცხადესა და სისწორეს. LiveCodeBench შეგროვებულ ამოცანებს იყენებს ოთხი კოდირების სცენარის შესაქმნელად. თითოეული სცენარისთვის შეფასება ხორციელდება Pass@1 მეტრიკის გამოყენებით. ეს მეტრიკა ასახავს სწორი პასუხის გენერირების ალბათობას და გამოითვლება სწორი პასუხების რაოდენობის შეფარდებით მცდელობების საერთო რაოდენობასთან, ფორმულის მიხედვით: Pass@1 = total_correct / total_attempts. კონტამინაცია (მონაცემთა დაბინძურება) ერთ-ერთი მთავარი დაბრკოლებაა მიმდინარე LLM შეფასებებში. LLM-ის კოდირების შეფასებებშიც კი, არსებობს კონტამინაციისა და გადამეტებული მორგების (overfitting) დამადასტურებელი ცნობები სტანდარტულ ბენჩმარკებზე, როგორიცაა HumanEval ([1] და [2]). ამ მიზეზით, LiveCodeBench-ში ამოცანებს ვუმატებთ გამოშვების თარიღებს: ამგვარად, ახალი მოდელებისთვის, რომელთა ვარჯიშის დასრულების თარიღი D-ია, შესაძლებელია ქულების გამოთვლა D თარიღის შემდეგ გამოშვებულ ამოცანებზე, რათა შევაფასოთ მათი განზოგადების უნარი უნახავ ამოცანებზე. LiveCodeBench ამას აფორმებს „დროში გადახვევის“ (scrolling over time) ფუნქციით, რომელიც საშუალებას გაძლევთ აირჩიოთ ამოცანები კონკრეტულ დროის შუალედში. შეგიძლიათ სცადოთ ის ზემოთ მოცემულ ლიდერბორდში! თქვენი კოდის მოდელების LiveCodeBench-ზე შესაფასებლად, შეგიძლიათ მიჰყვეთ ამ ნაბიჯებს სხვადასხვა სცენარისთვის. ახალი მოდელის ოჯახებისთვის ჩვენ დავნერგეთ გაფართოებადი ფრეიმვორკი, და ახალი მოდელების მხარდაჭერა შესაძლებელია lcb_runner/lm_styles.py და lcb_runner/prompts-ის მოდიფიცირებით, როგორც აღწერილია GitHub-ის README-ში. და ბოლოს, ჩვენ ვეძებთ თანამშრომლებს და წინადადებებს LiveCodeBench-ისთვის. მონაცემთა ნაკრები და კოდი ხელმისაწვდომია ონლაინ, ამიტომ გთხოვთ, დაგვიკავშირდეთ პრობლემის (issue) შეტანით ან ელექტრონული ფოსტით.