DeepSeek

ডিপসিক-কোডার-ভি২: কোড ইন্টেলিজেন্সে ওপেন-সোর্স মডেলের নতুন দিগন্ত

কোডিং এবং প্রোগ্রামিংয়ের জগতে ডিপসিক-কোডার-ভি২ একটি যুগান্তকারী মডেল হিসেবে আবির্ভূত হয়েছে। এটি একটি ওপেন-সোর্স মডেল যা জিপিটি-৪ টার্বোর মতো বন্ধ-সোর্স মডেলগুলোর সাথে প্রতিযোগিতা করতে সক্ষম।

এই মডেলটি ডিপসিক-ভি২ এর একটি ইন্টারমিডিয়েট চেকপয়েন্ট থেকে অতিরিক্ত ৬ ট্রিলিয়ন টোকেন ব্যবহার করে প্রি-ট্রেন করা হয়েছে, যা কোডিং এবং গাণিতিক যুক্তির ক্ষেত্রে এর দক্ষতা বৃদ্ধি করেছে।

ডিপসিক-কোডার-ভি২ এর বিশেষ বৈশিষ্ট্য

১. ৩৩৮টি প্রোগ্রামিং ভাষা সমর্থন: এটি ৩৩৮টি প্রোগ্রামিং ভাষা সমর্থন করে, যা প্রায় সব ধরনের ডেভেলপারের চাহিদা মেটাতে সক্ষম।
২. ১২৮কে টোকেন কন্টেক্সট লেন্থ: এটি দীর্ঘ কোড বেস এবং জটিল প্রোজেক্টগুলোর জন্য উপযোগী।
৩. কোড জেনারেশন এবং ডিবাগিং: এটি স্বয়ংক্রিয়ভাবে কোড জেনারেট করতে পারে এবং ভুল কোড ঠিক করতে পারে।
৪. গাণিতিক যুক্তি: জটিল গাণিতিক সমস্যা সমাধানে এটি দক্ষ।

কিভাবে ব্যবহার করবেন?

ডিপসিক-কোডার-ভি২ ব্যবহার করার জন্য আপনি SGLang বা vLLM ফ্রেমওয়ার্ক ব্যবহার করতে পারেন।

SGLang এর মাধ্যমে ইনফারেন্স

SGLang বর্তমানে MLA অপ্টিমাইজেশন, FP8 (W8A8), FP8 KV Cache, এবং Torch Compile সমর্থন করে, যা সর্বোত্তম লেটেন্সি এবং থ্রুপুট প্রদান করে। নিচের কমান্ডগুলি ব্যবহার করে আপনি একটি OpenAI API-সামঞ্জস্যপূর্ণ সার্ভার চালু করতে পারেন:

# BF16, tensor parallelism = 8
python3 -m sglang.launch_server --model deepseek-ai/DeepSeek-Coder-V2-Instruct --tp 8 --trust-remote-code

এরপর OpenAI API ব্যবহার করে সার্ভারকে কোয়েরি করতে পারেন:

import openai
client = openai.Client(base_url="http://127.0.0.1:30000/v1", api_key="EMPTY")

response = client.chat.completions.create(
    model="default",
    messages=[
        {"role": "system", "content": "You are a helpful AI assistant"},
        {"role": "user", "content": "List 3 countries and their capitals."},
    ],
    temperature=0,
    max_tokens=64,
)
print(response)

vLLM এর মাধ্যমে ইনফারেন্স

vLLM ব্যবহার করতে নিচের কোডটি ব্যবহার করুন:

from transformers import AutoTokenizer
from vllm import LLM, SamplingParams

max_model_len, tp_size = 8192, 1
model_name = "deepseek-ai/DeepSeek-Coder-V2-Lite-Instruct"
tokenizer = AutoTokenizer.from_pretrained(model_name)
llm = LLM(model=model_name, tensor_parallel_size=tp_size, max_model_len=max_model_len, trust_remote_code=True, enforce_eager=True)
sampling_params = SamplingParams(temperature=0.3, max_tokens=256, stop_token_ids=[tokenizer.eos_token_id])

messages_list = [
    [{"role": "user", "content": "Who are you?"}],
    [{"role": "user", "content": "write a quick sort algorithm in python."}],
    [{"role": "user", "content": "Write a piece of quicksort code in C++."}],
]

prompt_token_ids = [tokenizer.apply_chat_template(messages, add_generation_prompt=True) for messages in messages_list]

outputs = llm.generate(prompt_token_ids=prompt_token_ids, sampling_params=sampling_params)

generated_text = [output.outputs[0].text for output in outputs]
print(generated_text)

লাইসেন্স

এই কোড রিপোজিটরি MIT লাইসেন্সের অধীনে লাইসেন্সপ্রাপ্ত। ডিপসিক-কোডার-ভি২ সিরিজ (বেস এবং ইনস্ট্রাক্ট) বাণিজ্যিক ব্যবহারের জন্য উপযোগী।

উদ্ধৃতি

যদি এই মডেলটি আপনার গবেষণায় ব্যবহার করেন, তাহলে নিচের উদ্ধৃতি ব্যবহার করুন:

@article{zhu2024deepseek,
  title={DeepSeek-Coder-V2: Breaking the Barrier of Closed-Source Models in Code Intelligence},
  author={Zhu, Qihao and Guo, Daya and Shao, Zhihong and Yang, Dejian and Wang, Peiyi and Xu, Runxin and Wu, Y and Li, Yukun and Gao, Huazuo and Ma, Shirong and others},
  journal={arXiv preprint arXiv:2406.11931},
  year={2024}
}

যোগাযোগ

যদি আপনার কোনো প্রশ্ন থাকে, তাহলে ইস্যু তৈরি করুন বা service@deepseek.com এ যোগাযোগ করুন।

ডিপসিক-কোডার-ভি২ কোডিং এবং প্রোগ্রামিংয়ের জগতে নতুন সম্ভাবনার দুয়ার খুলে দিয়েছে। এটি ব্যবহার করে আপনি আপনার কোডিং দক্ষতা আরও উন্নত করতে পারেন এবং জটিল সমস্যাগুলো সহজেই সমাধান করতে পারেন।

Evaluation Results

নীচে কোড উৎপাদনের জন্য বিভিন্ন মডেলের মূল্যায়ন ফলাফল বাংলায় উপস্থাপন করা হলো:

ক্লোজড-সোর্স মডেলস

মডেল#TP#APHumanEvalMBPP+LiveCodeBenchUSACO
জেমিনি-১.৫-প্রো83.574.634.14.9
ক্লড-৩-অপাস84.272.034.67.8
জিপিটি-৪-টার্বো-১১০৬87.869.337.111.1
জিপিটি-৪-টার্বো-০৪০৯88.272.245.712.3
জিপিটি-৪ও-০৫১৩91.073.543.418.8

ওপেন-সোর্স মডেলস

মডেল#TP#APHumanEvalMBPP+LiveCodeBenchUSACO
কোডস্ট্রাল22B22B78.168.231.04.6
ডিপসিক-কোডার-ইনস্ট্রাক্ট33B33B79.370.122.54.2
লামা৩-ইনস্ট্রাক্ট70B70B81.168.828.73.3
ডিপসিক-কোডার-ভি২-লাইট-ইনস্ট্রাক্ট16B2.4B81.168.824.36.5
ডিপসিক-কোডার-ভি২-ইনস্ট্রাক্ট236B21B90.276.243.412.1

এই টেবিলে উল্লিখিত পরিসংখ্যানগুলি বিভিন্ন কোড উৎপাদন মডেলের কর্মক্ষমতা নির্ধারণে সহায়ক হিসাবে ব্যবহৃত বিভিন্ন বেঞ্চমার্ক (HumanEval, MBPP+, LiveCodeBench, USACO) এর উপর ভিত্তি করে সংগৃহীত।

কোড কমপ্লিশন (Code Completion)

মডেল#TP#APRepoBench (পাইথন)RepoBench (জাভা)HumanEval FIM
CodeStral22B22B46.145.783.0
DeepSeek-Coder-Base (7B)7B7B36.243.386.1
DeepSeek-Coder-Base (33B)33B33B39.144.886.4
DeepSeek-Coder-V2-Lite-Base16B2.4B38.943.386.4

কোড সংশোধন (Code Fixing)

ক্লোজড-সোর্স মডেলস

মডেল#TP#APDefects4JSWE-BenchAider
Gemini-1.5-Pro18.619.357.1
Claude-3-Opus25.511.768.4
GPT-4-Turbo-110622.822.765.4
GPT-4-Turbo-040924.318.363.9
GPT-4o-051326.126.772.9

ওপেন-সোর্স মডেলস

মডেল#TP#APDefects4JSWE-BenchAider
CodeStral22B22B17.82.751.1
DeepSeek-Coder-Instruct33B33B11.30.054.5
Llama3-Instruct70B70B16.249.2
DeepSeek-Coder-V2-Lite-Instruct16B2.4B9.20.044.4
DeepSeek-Coder-V2-Instruct236B21B21.012.773.7

গাণিতিক যুক্তি (Mathematical Reasoning)

ক্লোজড-সোর্স মডেলস

মডেল#TP#APGSM8KMATHAIME 2024Math Odyssey
Gemini-1.5-Pro90.867.72/3045.0
Claude-3-Opus95.060.12/3040.6
GPT-4-Turbo-110691.464.31/3049.1
GPT-4-Turbo-040993.773.43/3046.8
GPT-4o-051395.876.62/3053.2

ওপেন-সোর্স মডেলস

মডেল#TP#APGSM8KMATHAIME 2024Math Odyssey
Llama3-Instruct70B70B93.050.41/3027.9
DeepSeek-Coder-V2-Lite-Instruct16B2.4B86.461.80/3044.4
DeepSeek-Coder-V2-Instruct236B21B94.975.74/3053.7

সাধারণ প্রাকৃতিক ভাষা (General Natural Language)

বেন্চমার্কডোমেইনDeepSeek-V2-Lite ChatDeepSeek-Coder-V2-Lite InstructDeepSeek-V2 ChatDeepSeek-Coder-V2 Instruct
BBHEnglish48.161.279.783.9
MMLUEnglish55.760.178.179.2
ARC-EasyEnglish86.188.998.197.4
ARC-ChallengeEnglish73.477.492.392.8
TriviaQAEnglish65.259.586.782.3
NaturalQuestionsEnglish35.530.853.447.5
AGIEvalEnglish42.828.761.460
CLUEWSCChinese80.076.589.985.9
C-EvalChinese60.161.678.079.4
CMMLUChinese62.562.781.680.9
Arena-Hard11.438.141.665.0
AlpaceEval 2.016.917.738.936.9
MT-Bench7.377.818.978.77
Alignbench6.026.837.917.84

প্রতিটি বিভাগে উপরের টেবিলগুলো কোড উৎপাদন, কোড সংশোধন, গাণিতিক যুক্তি ও সাধারণ প্রাকৃতিক ভাষার ক্ষেত্রে বিভিন্ন মডেলের পারফরম্যান্স নির্ণয়ে সহায়ক বেঞ্চমার্কগুলোর (যেমন RepoBench, HumanEval, Defects4J, SWE-Bench, GSM8K, MATH, AIME 2024, ইত্যাদি) উপর ভিত্তি করে সংগৃহীত ফলাফল তুলে ধরে।

Nahid Hasan Mim

Recent Posts

পাইথন কি? কেন শিখবো? জরুরী ক্যারিয়ার টিপস

মনের ভাব প্রকাশ করতে যেমন প্রয়োজন ভাষা, তেমনি কম্পিউটের ভাষা বুঝতে দরকার প্রোগ্রামিং ভাষা। তার…

1 day ago

টেকনিকাল এসইও এর মূল ভিত্তিসমূহ

টেকনিকাল এসইও ওয়েবসাইটের র‍্যাঙ্কিং এবং অরগানিক ট্রাফিক বাড়াতে এর টেকনিকাল বিষয় নিয়ে কাজ করে। এর…

4 days ago

৪০ ধরনের SEO অপ্টিমাইজেশন

৪০ ধরনের SEO অপ্টিমাইজেশন হলো ওয়েব পেজ র‍্যাঙ্ক করানোর জন্য গুগলের অ্যালগরিদমে ২০০টিরও বেশি ফ্যাক্টরের…

5 days ago

কাঠের হিসাব ক্যালকুলেটর: সহজেই হিসাব করুন 2025

নির্মাণ কাজ বা কাঠের ব্যবসায়ে সঠিক পরিমাপ নিশ্চিত করতে আমাদের কাঠের হিসাব ক্যালকুলেটর একটি অত্যন্ত…

5 days ago

Upay Cash Out Calculator: সহজেই হিসাব করুন চার্জ ও লিমিট

মোবাইল ফিন্যান্সিয়াল সার্ভিসে উপায় (Upay) এখন বাংলাদেশিদের প্রিয় প্ল্যাটফর্ম। কিন্তু ক্যাশ আউটের সময় চার্জ কত পড়বে বা কীভাবে…

6 days ago

Rocket Cash Out Calculator: সহজেই হিসাব করুন চার্জ ও লিমিট

মোবাইল ফিন্যান্সিয়াল সার্ভিসের যুগে রকেট একটি পরিচিত নাম। কিন্তু ক্যাশ আউটের সময় চার্জ কত পড়বে,…

6 days ago