Benchmark · coding
BigCodeBench
BigCodeBench एक Python कोड-जनरेशन बेंचमार्क है जिसमें 1,140 वास्तविक प्रोग्रामिंग कार्य हैं, और हर कार्य में कई लाइब्रेरियों की कॉल को मिलाना पड़ता है; इसका स्कोर execution-आधारित Pass@1 से मिलता है — यानी उन कार्यों का अनुपात जिनका जनरेट किया गया हल सभी यूनिट टेस्ट पास कर लेता है।
और पढ़ें
- उदाहरण
- एक सामान्य कार्य एक function signature और विस्तृत docstring देता है — जैसे 'एक CSV लोड करो, pandas से प्रति-समूह सारांश आँकड़े निकालो, फिर matplotlib से बार चार्ट बनाओ' — और मॉडल से ऐसा function body लिखवाता है जो कई लाइब्रेरी कॉल को सही ढंग से जोड़ता हो।
- स्कोरिंग
- मीट्रिक है कैलिब्रेटेड Pass@1, आमतौर पर greedy decoding के साथ: हर जनरेट किया गया प्रोग्राम एक sandbox में कार्य के यूनिट टेस्ट के विरुद्ध चलाया जाता है, कोई कार्य तभी हल माना जाता है जब सभी टेस्ट पास हों, और स्कोर हल हुए कार्यों का प्रतिशत है। दो विभाजन रिपोर्ट किए जाते हैं — Complete (docstring से ढाँचा बने function को पूरा करना) और Instruct (केवल प्राकृतिक भाषा का निर्देश) — साथ ही 148 कार्यों का एक Hard उपसमुच्चय।
- सत्यापन
- स्वीकृति पूरी तरह execution से होती है: एक अलग-थलग (isolated) वातावरण में चलाने पर हल को कार्य के सभी हाथ से लिखे यूनिट टेस्ट (प्रति कार्य लगभग 5.6, ~99% औसत branch coverage के साथ) पास करने होते हैं। न कोई आंशिक अंक है, न किसी संदर्भ-पाठ से मिलान।
- यह क्यों मायने रखता है
- HumanEval जैसे छोटे single-function बेंचमार्क के विपरीत, BigCodeBench यह जाँचता है कि क्या मॉडल जटिल निर्देशों का पालन कर सकता है और 139 लाइब्रेरियों तथा 7 डोमेन में फैले विविध वास्तविक API का सही उपयोग कर सकता है, जो व्यावहारिक सॉफ़्टवेयर काम को बेहतर दर्शाता है; Instruct विभाजन और Hard उपसमुच्चय निर्देश-पालन और उपकरण-संयोजन पर और अधिक दबाव डालते हैं।
हल किया गया उदाहरण
कार्य
```python
import pandas as pd
import numpy as np
def task_func(df, column):
"""
किसी DataFrame के दिए गए संख्यात्मक column को शून्य माध्य (zero mean)
और इकाई प्रसरण (unit variance) पर मानकीकृत (standardize) करें, और संशोधित DataFrame लौटाएँ।
आवश्यकताएँ:
- pandas
- numpy
पैरामीटर:
df (pd.DataFrame): इनपुट डेटा।
column (str): मानकीकृत किए जाने वाले संख्यात्मक column का नाम।
रिटर्न:
pd.DataFrame: वह DataFrame जिसमें column मानकीकृत किया गया है।
उदाहरण:
>>> df = pd.DataFrame({'a': [1, 2, 3, 4, 5]})
>>> round(task_func(df, 'a')['a'].mean(), 5)
0.0
"""
```
समाधान
```python
df[column] = (df[column] - np.mean(df[column])) / np.std(df[column])
return df
```
व्याख्या
column के माध्य को घटाकर और जनसंख्या मानक विचलन (np.std, ddof=0) से भाग देकर मानों को माध्य 0 और इकाई प्रसरण पर पुनः स्केल किया जाता है, जो docstring और उसके doctest को संतुष्ट करता है (माध्य 0.0 पर राउंड होता है), और यह दोनों आवश्यक लाइब्रेरियों का उपयोग करता है। ग्रेडिंग execution-आधारित है: BigCodeBench पूर्ण किए गए फ़ंक्शन को कार्य के छिपे हुए unit tests के विरुद्ध चलाता है और Pass@1 तभी देता है जब हर test पास हो।
इस benchmark के लिए अभी तक कोई सत्यापित स्कोर रिपोर्ट नहीं किया गया है।