HumanEval Benchmark (BN)

From Systems analysis Wiki
Jump to navigation Jump to search

HumanEval — এটি একটি মানদণ্ড ডেটাসেট (benchmark), যা কৃত্রিম বুদ্ধিমত্তা মডেলগুলির দ্বারা পাঠ্য বিবরণের ভিত্তিতে উৎপন্ন কোডের মান বস্তুনিষ্ঠভাবে মূল্যায়নের জন্য তৈরি করা হয়েছে[1]। এটি ২০২১ সালের জুলাই মাসে মার্ক চেন (Mark Chen)-এর নেতৃত্বে OpenAI-এর গবেষকদের দ্বারা উপস্থাপিত হয়েছিল এবং উৎপন্ন প্রোগ্রামগুলির কার্যকরী সঠিকতা পরিমাপের অন্যতম প্রধান মানদণ্ড হয়ে উঠেছে।

HumanEval-এর উন্নয়ন কোড জেনারেশন মূল্যায়নের একটি নির্ভরযোগ্য পদ্ধতির প্রয়োজনীয়তা থেকে উদ্ভূত হয়েছিল। এর আগে ভাষা মডেলগুলির দ্বারা উৎপন্ন কোডের মান প্রায়শই পরোক্ষ মেট্রিক্স (যেমন BLEU) দিয়ে বা হাতে মূল্যায়ন করা হত, যা প্রোগ্রামগুলির প্রকৃত কার্যকারিতার সাথে মিল নিশ্চিত করত না। HumanEval এই সমস্যার সমাধান করে কার্যকরী সঠিকতার উপর মনোযোগ কেন্দ্রীভূত করে: উৎপন্ন কোড এর সিনট্যাক্টিক মিলের ভিত্তিতে নয়, বরং স্বয়ংক্রিয় unit test-এর একটি সেট সফলভাবে পাস করার ক্ষমতার ভিত্তিতে মূল্যায়িত হয়[1]

কার্যসমূহের কাঠামো

Benchmark-টি ১৬৪টি প্রোগ্রামিং সমস্যা নিয়ে গঠিত, যা বিশেষভাবে এই ডেটাসেটের জন্য হাতে লেখা হয়েছে, যাতে মডেলগুলির প্রশিক্ষণ ডেটাতে এগুলির অনুপস্থিতি নিশ্চিত করা যায়। সমস্ত কার্য Python ভাষায় প্রণীত এবং বিবরণসহ কোড খণ্ড হিসেবে উপস্থাপিত[2]

প্রতিটি কার্যে অন্তর্ভুক্ত রয়েছে:

  • ফাংশন হেডার: ফাংশনের নাম ও প্যারামিটারসহ সিগনেচার।
  • পাঠ্য বিবরণ: ইংরেজিতে Docstring, যা প্রয়োজনীয় কার্যকারিতা বর্ণনা করে।
  • ফাংশনের মূল অংশ: খালি জায়গা, যা মডেলকে উৎপন্ন কোড দিয়ে পূরণ করতে হবে।

প্রতিটি কার্যের জন্য মডেলের কাছ থেকে লুকানো উপাদানও রয়েছে:

  • ক্যানোনিকাল সমাধান: ফাংশনের সঠিক (মানদণ্ড) বাস্তবায়ন।
  • মডুলার test-এর সেট (unit test): উৎপন্ন কোডের সঠিকতা স্বয়ংক্রিয়ভাবে যাচাই করতে ব্যবহৃত হয়। Test-গুলি মূল এবং প্রান্তিক উভয় ক্ষেত্রই অন্তর্ভুক্ত করে।

কার্যগুলি বিষয়ের একটি বিস্তৃত পরিসর জুড়ে রয়েছে: মৌলিক ভাষা কনস্ট্রাক্ট ও অ্যালগরিদম থেকে সহজ গণিত পর্যন্ত, যা সেটটিকে মডেলগুলির জন্য বৈচিত্র্যময় ও চ্যালেঞ্জিং করে তোলে।

মডেল মূল্যায়নের পদ্ধতি

HumanEval-এ সাফল্যের প্রধান মেট্রিক হল pass@k, যা মডেলটি কার্যকরীভাবে সঠিকভাবে সমাধান করা কার্যের অনুপাত পরিমাপ করে[1]। একটি সমাধান সফল বলে বিবেচিত হয় যদি উৎপন্ন কোড ওই কার্যের সমস্ত স্বয়ংক্রিয় test পাস করে।

  • pass@1: প্রাথমিক ও সবচেয়ে বেশি ব্যবহৃত সূচক। এটি মডেলের প্রথম প্রচেষ্টায় সমাধান করা কার্যের শতাংশ বোঝায় (অর্থাৎ প্রতিটি কার্যের জন্য একটি সমাধানের বিকল্প তৈরি করার সময়)।
  • pass@k: সাধারণ ক্ষেত্রে, এই মেট্রিকটি দেখায় যে কার্যগুলির কত অংশের জন্য মডেলের তৈরি করা k-টির মধ্যে অন্তত একটি সমাধান বিকল্প সমস্ত test পাস করে। উদাহরণস্বরূপ, pass@10 দেখায় যে মডেলটি প্রতিটি কার্যের জন্য ১০টি পর্যন্ত প্রচেষ্টা দিলে কত অংশ কার্য সমাধান করতে সক্ষম।

যেহেতু pass@k-এর সরাসরি গণনার জন্য প্রচুর নমুনার প্রয়োজন, তাই লেখকরা এই মেট্রিক গণনার একটি পরিসংখ্যানগতভাবে সঠিক পদ্ধতি প্রস্তাব করেছেন, যা একটি নিরপেক্ষ মূল্যায়ন প্রদান করে[1]

ব্যবহারিক পরীক্ষা একটি বিশেষ "স্যান্ডবক্স"-এ হয়: উৎপন্ন কোড কম্পাইল করা হয় এবং একটি যাচাইকরণ test সেটে চালানো হয়। এই পদ্ধতিটি মডেলের কার্যকর ও সঠিক কোড তৈরির ক্ষমতা পরিমাপ করতে দেয়, শুধু সিনট্যাক্টিকভাবে মানদণ্ডের মতো নয়।

ফলাফল এবং শিল্পে প্রভাব

HumanEval-এ প্রাথমিক পরীক্ষাগুলি সাধারণ উদ্দেশ্যের মডেল এবং কোডের জন্য বিশেষভাবে প্রশিক্ষিত মডেলের মধ্যে একটি উল্লেখযোগ্য ব্যবধান দেখিয়েছে।

  • ২০২১ সালে OpenAI Codex মডেল (১২ বিলিয়ন প্যারামিটার, GitHub-এর কোডে প্রশিক্ষিত) প্রথম প্রচেষ্টায় ~২৮.৮% কার্য সমাধান করতে সক্ষম হয়েছিল (pass@1)।
  • একই সময়ে, কোডে প্রশিক্ষিত নয় এমন আরও বড় ভাষা মডেল GPT-3 (১৭৫ বিলিয়ন) একটি কার্যও সঠিকভাবে সমাধান করতে পারেনি[1]

এই ফলাফলগুলি সফল কোড জেনারেশনের জন্য প্রোগ্রামিং ডেটায় বিশেষায়িত প্রশিক্ষণের প্রয়োজনীয়তা তুলে ধরেছে। HumanEval-এর আবির্ভাবের পরে, benchmark-টি দ্রুত নতুন মডেলের অগ্রগতি তুলনার জন্য একটি আদর্শ পরীক্ষায় পরিণত হয়।

  • GPT-3.5 সিরিজের মডেলগুলি (২০২৩ সালের শুরুতে) ~৭২% pass@1 অর্জন করেছে।
  • GPT-4 মডেল (২০২৩) আরও উচ্চতর ফলাফল প্রদর্শন করেছে, মূল সংস্করণে ~৬৭% অর্জন করে এবং অতিরিক্ত সুক্ষ্মায়নের পরে ৮৫% ছাড়িয়ে গেছে[3]
  • Code Llama (Meta, ২০২৩) এবং WizardCoder (২০২৩)-এর মতো ওপেন মডেলগুলিও উচ্চ ফলাফল দেখিয়েছে (যথাক্রমে ~৫৩% এবং ~৫৭% pass@1), যা প্রাথমিক মালিকানাধীন মডেলগুলিকে ছাড়িয়ে গেছে[4]

Benchmark-এর সম্প্রসারণ ও রূপান্তর

HumanEval-এর সাফল্য বেশ কয়েকটি ডেরিভেটিভ সংস্করণ তৈরিতে অনুপ্রেরণা দিয়েছে, যা আরও বিস্তৃত পরিস্থিতিতে মডেলগুলি মূল্যায়নের লক্ষ্যে তৈরি।

  • CL-HumanEval (Cross-Lingual HumanEval): একটি ক্রস-লিঙ্গুয়াল রূপান্তর (২০২৪), যেখানে মূল HumanEval-এর কার্যগুলি মডেলগুলির বিভিন্ন ভাষায় (ইংরেজি ছাড়াও) বিবরণ বোঝার ক্ষমতা যাচাই করার জন্য অভিযোজিত, Python-এ কোড তৈরি করার সময়[5]
  • Multilingual HumanEval: একটি সম্প্রসারণ (২০২৩), যা ইংরেজি বিবরণের ভিত্তিতে ১২টি ভিন্ন প্রোগ্রামিং ভাষায় (Java, C#, JavaScript-সহ অন্যান্য) কোড তৈরির মূল্যায়নের লক্ষ্যে তৈরি[6]
  • HumanEval-XL: একটি বৃহৎ মাপের benchmark (২০২৪), যা উভয় পদ্ধতিকে একত্রিত করে। এটিতে ১২টি প্রোগ্রামিং ভাষায় কার্য এবং রুশ, চীনা, আরবি-সহ বিশ্বের ২৩টি ভাষায় পাঠ্য বিবরণের অনুবাদ রয়েছে। মোট HumanEval-XL-এ ২২,০০০-এরও বেশি "বিবরণ-কোড" জোড়া রয়েছে[7]

তথ্যসূত্র

  • HumanEval-এর Hugging Face পাতা
  • Papers with Code-এ HumanEval পাতা

সাহিত্য

  • Liang, P. et al. (2022). Holistic Evaluation of Language Models (HELM). arXiv:2211.09110.
  • Chang, Y. et al. (2023). A Survey on Evaluation of Large Language Models. arXiv:2307.03109.
  • Ni, S. et al. (2025). A Survey on Large Language Model Benchmarks. arXiv:2508.15361.
  • Biderman, S. et al. (2024). The Language Model Evaluation Harness (lm-eval): Guidance and Lessons Learned. arXiv:2405.14782.
  • Kiela, D. et al. (2021). Dynabench: Rethinking Benchmarking in NLP. arXiv:2104.14337.
  • Ma, Z. et al. (2021). Dynaboard: An Evaluation‑As‑A‑Service Platform for Holistic Next‑Generation Benchmarking. arXiv:2106.06052.
  • Goel, K. et al. (2021). Robustness Gym: Unifying the NLP Evaluation Landscape. arXiv:2101.04840.
  • Xu, C. et al. (2024). Benchmark Data Contamination of Large Language Models: A Survey. arXiv:2406.04244.
  • Liu, S. et al. (2025). A Comprehensive Survey on Safety Evaluation of LLMs. arXiv:2506.11094.
  • Chiang, W.-L. et al. (2024). Chatbot Arena: An Open Platform for Evaluating LLMs by Human Preference. arXiv:2403.04132.
  • Boubdir, M. et al. (2023). Elo Uncovered: Robustness and Best Practices in Language Model Evaluation. arXiv:2311.17295.
  • Huang, L. et al. (2023). A Survey on Hallucination in Large Language Models. arXiv:2311.05232.

টীকা

  1. 1.0 1.1 1.2 1.3 1.4 Chen, M. et al. «Evaluating Large Language Models Trained on Code». arXiv:2107.03374, 2021. [১]
  2. «openai/openai_humaneval». Hugging Face Datasets. [২]
  3. Niu, C. et al. «On Evaluating the Efficiency of Source Code Generated by LLMs». Proceedings of the 2nd International Conference on AI-generated Content, 2024. [৩]
  4. Lutfullaev, J. «HumanEval on LLMs Revisited in Late 2023». arXiv:2402.14852, 2023. [৪]
  5. Sato, M. et al. «CL-HumanEval: A Benchmark for Evaluating Cross-Lingual Transfer through Code Generation». Proceedings of the 38th Pacific Asia Conference on Language, Information and Computation, 2024. [৫]
  6. Athiwaratkun, B. et al. «Multilingual HumanEval: A Multilingual Code Generation Benchmark». arXiv:2307.11892, 2023. [৬]
  7. Liu, J. et al. «HumanEval-XL: A Multilingual Code Generation Benchmark for Cross-lingual Natural Language Generalization». LREC-COLING 2024. [৭]