বড় নিউরাল নেটওয়ার্কগুলি AI-তে সাম্প্রতিক অনেক অগ্রগতির মূলে রয়েছে, তবে তাদের প্রশিক্ষণ দেওয়া একটি কঠিন প্রকৌশল এবং গবেষণা চ্যালেঞ্জ যার জন্য একটি একক সিঙ্ক্রোনাইজড গণনা সম্পাদনের জন্য GPU-এর একটি ক্লাস্টার অর্কেস্ট্রেট করা প্রয়োজন। ক্লাস্টার এবং মডেলের আকার যেমন বেড়েছে, মেশিন লার্নিং অনুশীলনকারীরা অনেক GPU-এর তুলনায় মডেল প্রশিক্ষণকে সমান্তরাল করার জন্য ক্রমবর্ধমান বিভিন্ন কৌশল তৈরি করেছে। প্রথম নজরে, এই সমান্তরাল কৌশলগুলি বোঝা কঠিন বলে মনে হতে পারে, কিন্তু গণনার কাঠামো সম্পর্কে শুধুমাত্র কয়েকটি অনুমানের সাথে এই কৌশলগুলি আরও স্পষ্ট হয়ে ওঠে - সেই সময়ে, আপনি একটি নেটওয়ার্কের মতো A থেকে B পর্যন্ত অস্বচ্ছ বিটগুলির চারপাশে ঘুরে বেড়াচ্ছেন প্যাকেটের চারপাশে শাটল পরিবর্তন করুন।
সমান্তরালতা নেই
একটি নিউরাল নেটওয়ার্ক প্রশিক্ষণ একটি পুনরাবৃত্তিমূলক প্রক্রিয়া. প্রতিটি পুনরাবৃত্তিতে, আমরা একটি মডেলের মাধ্যমে একটি পাস ফরওয়ার্ড করি স্তর ডেটার একটি ব্যাচে প্রতিটি প্রশিক্ষণ উদাহরণের জন্য একটি আউটপুট গণনা করা। তারপর আরেকটি পাস এগিয়ে যায় অনগ্রসর স্তরগুলির মাধ্যমে, প্রতিটি পরামিতি কতটা চূড়ান্ত আউটপুটকে প্রভাবিত করে তা প্রচার করে a কম্পিউটিংয়ের মাধ্যমে নতিমাত্রা প্রতিটি পরামিতি সাপেক্ষে। ব্যাচের গড় গ্রেডিয়েন্ট, প্যারামিটার এবং কিছু প্রতি-প্যারামিটার অপ্টিমাইজেশান স্টেট একটি অপ্টিমাইজেশান অ্যালগরিদমে পাস করা হয়, যেমন আদম, যা পরবর্তী পুনরাবৃত্তির পরামিতিগুলি গণনা করে (যা আপনার ডেটাতে সামান্য ভাল কর্মক্ষমতা থাকা উচিত) এবং নতুন প্রতি-প্যারামিটার অপ্টিমাইজেশান অবস্থা। প্রশিক্ষণ যেমন ডেটার ব্যাচের উপর পুনরাবৃত্তি করে, মডেলটি ক্রমবর্ধমান সঠিক আউটপুট তৈরি করতে বিবর্তিত হয়।
বিভিন্ন সমান্তরাল কৌশল এই প্রশিক্ষণ প্রক্রিয়াটিকে বিভিন্ন মাত্রায় বিভক্ত করে, যার মধ্যে রয়েছে:
- ডেটা সমান্তরালতা—বিভিন্ন GPU-তে ব্যাচের বিভিন্ন উপসেট চালান;
- পাইপলাইন সমান্তরালতা-বিভিন্ন GPU-তে মডেলের বিভিন্ন স্তর চালান;
- টেনসর সমান্তরালতা - একটি একক ক্রিয়াকলাপের জন্য গণিতকে ভেঙে ফেলুন যেমন একটি ম্যাট্রিক্স গুণন GPU গুলি জুড়ে বিভক্ত করা;
- বিশেষজ্ঞদের মিশ্রণ—প্রতিটি স্তরের একটি ভগ্নাংশ দ্বারা প্রতিটি উদাহরণ প্রক্রিয়া করুন।
(এই পোস্টে, আমরা ধরে নেব যে আপনি আপনার নিউরাল নেটওয়ার্কগুলিকে প্রশিক্ষণের জন্য জিপিইউ ব্যবহার করছেন, তবে একই ধারণাগুলি অন্য যেকোন ব্যবহারকারীদের ক্ষেত্রে প্রযোজ্য নিউরাল নেটওয়ার্ক এক্সিলারেটর.)
ডেটা সমান্তরালতা
ডেটা সমান্তরাল প্রশিক্ষণ মানে একই পরামিতিগুলি একাধিক GPU-তে অনুলিপি করা (প্রায়ই "কর্মী" বলা হয়) এবং একই সাথে প্রক্রিয়া করার জন্য প্রতিটিকে আলাদা উদাহরণ বরাদ্দ করা। শুধুমাত্র ডেটা সমান্তরালতার জন্য এখনও প্রয়োজন যে আপনার মডেলটি একটি একক GPU-এর মেমরিতে ফিট করে, কিন্তু আপনাকে আপনার প্যারামিটারের অনেক ডুপ্লিকেট কপি সংরক্ষণের খরচে অনেক GPU-এর গণনা ব্যবহার করতে দেয়। এটি বলা হচ্ছে, আপনার GPU-তে উপলব্ধ কার্যকর RAM বাড়ানোর কৌশল রয়েছে, যেমন ব্যবহারের মধ্যে CPU মেমরিতে অস্থায়ীভাবে পরামিতিগুলি অফলোড করা।
যেহেতু প্রতিটি ডেটা সমান্তরাল কর্মী তার পরামিতিগুলির অনুলিপি আপডেট করে, তাই প্রতিটি কর্মীর একই পরামিতিগুলি অব্যাহত রয়েছে তা নিশ্চিত করার জন্য তাদের সমন্বয় করতে হবে। সবচেয়ে সহজ পন্থা হল শ্রমিকদের মধ্যে ব্লকিং কমিউনিকেশন চালু করা: (1) স্বাধীনভাবে প্রতিটি শ্রমিকের গ্রেডিয়েন্ট গণনা করা; (2) কর্মীদের মধ্যে গড় গ্রেডিয়েন্ট; এবং (3) প্রতিটি কর্মীর উপর স্বাধীনভাবে একই নতুন প্যারামিটার গণনা করুন। ধাপ (2) হল একটি ব্লকিং গড় যার জন্য প্রচুর ডেটা স্থানান্তর করা প্রয়োজন (আপনার প্যারামিটারের আকারের কর্মীদের সংখ্যার সমানুপাতিক), যা আপনার প্রশিক্ষণের থ্রুপুটকে ক্ষতি করতে পারে। বিভিন্ন আছে অ্যাসিঙ্ক্রোনাস সিঙ্ক্রোনাইজেশন স্কিম এই ওভারহেড অপসারণ, কিন্তু তারা শেখার দক্ষতা আঘাত; অনুশীলনে, লোকেরা সাধারণত সিঙ্ক্রোনাস পদ্ধতির সাথে লেগে থাকে।
পাইপলাইন সমান্তরালতা
সঙ্গে পাইপলাইন সমান্তরাল প্রশিক্ষণ, আমরা GPU জুড়ে মডেলের অনুক্রমিক অংশগুলিকে বিভাজন করি। প্রতিটি জিপিইউ প্যারামিটারের একটি ভগ্নাংশ ধারণ করে এবং এইভাবে একই মডেল প্রতি জিপিইউ আনুপাতিকভাবে কম মেমরি গ্রহণ করে।
একটি বড় মডেলকে পরপর স্তরের খণ্ডে বিভক্ত করা সহজ। যাইহোক, স্তরগুলির ইনপুট এবং আউটপুটগুলির মধ্যে একটি ক্রমিক নির্ভরতা রয়েছে, তাই একটি নিষ্ক্রিয় বাস্তবায়ন প্রচুর পরিমাণে নিষ্ক্রিয় সময় নিয়ে যেতে পারে যখন একজন কর্মী পূর্ববর্তী মেশিন থেকে আউটপুটগুলির ইনপুট হিসাবে ব্যবহার করার জন্য অপেক্ষা করে। এই অপেক্ষার সময়ের অংশগুলিকে "বুদবুদ" বলা হয়, যা অলস মেশিন দ্বারা করা যেতে পারে এমন গণনাকে নষ্ট করে।
আমরা প্রতিটি কর্মীকে একবারে ডেটা উপাদানগুলির একটি উপসেট প্রক্রিয়া করার মাধ্যমে বুদ্বুদের খরচ কমাতে ডেটা সমান্তরালতার ধারণাগুলি পুনঃব্যবহার করতে পারি, আমাদের অপেক্ষার সময়ের সাথে চতুরভাবে নতুন গণনাকে ওভারল্যাপ করার অনুমতি দেয়। মূল ধারণা হল এক ব্যাচকে একাধিক মাইক্রোব্যাচে বিভক্ত করা; প্রতিটি মাইক্রোব্যাচ প্রক্রিয়াকরণের জন্য আনুপাতিকভাবে দ্রুত হওয়া উচিত এবং প্রতিটি কর্মী পরবর্তী মাইক্রোব্যাচটি উপলব্ধ হওয়ার সাথে সাথে কাজ শুরু করে, এইভাবে পাইপলাইন সম্পাদনকে ত্বরান্বিত করে। পর্যাপ্ত মাইক্রোব্যাচ সহ কর্মীদের বেশিরভাগ সময়ই ধাপের শুরুতে এবং শেষে একটি ন্যূনতম বুদবুদ ব্যবহার করা যেতে পারে। গ্রেডিয়েন্টগুলি মাইক্রোব্যাচ জুড়ে গড় করা হয় এবং সমস্ত মাইক্রোব্যাচ সম্পূর্ণ হয়ে গেলেই পরামিতিগুলির আপডেট হয়।
মডেলটি বিভক্ত হওয়া শ্রমিকের সংখ্যা সাধারণত হিসাবে পরিচিত পাইপলাইনের গভীরতা.
ফরোয়ার্ড পাসের সময়, কর্মীদের শুধুমাত্র তার স্তরের অংশের আউটপুট (অ্যাক্টিভেশন বলা হয়) পরবর্তী কর্মীকে পাঠাতে হবে; ব্যাকওয়ার্ড পাসের সময়, এটি শুধুমাত্র সেই অ্যাক্টিভেশনের গ্রেডিয়েন্টগুলি পূর্ববর্তী কর্মীকে পাঠায়। এই পাসগুলি কীভাবে শিডিউল করা যায় এবং কীভাবে মাইক্রোব্যাচ জুড়ে গ্রেডিয়েন্টগুলি একত্রিত করা যায় তার একটি বড় ডিজাইনের জায়গা রয়েছে। জিপিপ প্রতিটি কর্মীকে পরপর প্রসেস ফরওয়ার্ড এবং পশ্চাদগামী পাস করা হয় এবং তারপরে শেষের দিকে সিঙ্ক্রোনাসভাবে একাধিক মাইক্রোব্যাচ থেকে গ্রেডিয়েন্ট একত্রিত করে। পাইপড্রিম পরিবর্তে প্রতিটি কর্মীকে বিকল্পভাবে ফরোয়ার্ড এবং ব্যাকওয়ার্ড পাস প্রক্রিয়া করার জন্য সময়সূচী করে।
টেনসর সমান্তরালতা
পাইপলাইন সমান্তরাল একটি মডেলকে "উল্লম্বভাবে" স্তর দ্বারা বিভক্ত করে। এটি একটি স্তরের মধ্যে নির্দিষ্ট ক্রিয়াকলাপগুলিকে "অনুভূমিকভাবে" বিভক্ত করাও সম্ভব, যা সাধারণত বলা হয় টেনসর সমান্তরাল প্রশিক্ষণ অনেক আধুনিক মডেলের জন্য (যেমন ট্রান্সফরমার), গণনার বাধা একটি অ্যাক্টিভেশন ব্যাচ ম্যাট্রিক্সকে একটি বড় ওজন ম্যাট্রিক্সের সাথে গুণ করছে। ম্যাট্রিক্স গুণ সারি এবং কলামের জোড়ার মধ্যে বিন্দু পণ্য হিসাবে চিন্তা করা যেতে পারে; বিভিন্ন GPU-তে স্বাধীন ডট প্রোডাক্ট গণনা করা সম্ভব, অথবা বিভিন্ন GPU-তে প্রতিটি ডট প্রোডাক্টের অংশ গণনা করা এবং ফলাফলগুলি যোগ করা সম্ভব। যেকোনো একটি কৌশলের মাধ্যমে, আমরা ওজন ম্যাট্রিক্সকে সমান-আকারের "শার্ডস" এ স্লাইস করতে পারি, প্রতিটি শার্ডকে একটি ভিন্ন GPU-তে হোস্ট করতে পারি এবং ফলাফলগুলি একত্রিত করার জন্য পরবর্তীতে যোগাযোগ করার আগে সামগ্রিক ম্যাট্রিক্স পণ্যের প্রাসঙ্গিক অংশ গণনা করতে সেই শার্ডটি ব্যবহার করতে পারি।
একটি উদাহরণ মেগাট্রন-এলএম, যা ট্রান্সফরমারের স্ব-মনোযোগ এবং MLP স্তরগুলির মধ্যে ম্যাট্রিক্স গুণকে সমান্তরাল করে। PTD-P টেনসর, ডেটা এবং পাইপলাইন সমান্তরালতা ব্যবহার করে; এর পাইপলাইন সময়সূচী প্রতিটি ডিভাইসে একাধিক অ-পরপর স্তর বরাদ্দ করে, আরও নেটওয়ার্ক যোগাযোগের খরচে বাবল ওভারহেড হ্রাস করে।
কখনও কখনও নেটওয়ার্কে ইনপুট একটি মাত্রা জুড়ে সমান্তরাল করা যেতে পারে ক্রস-কমিউনিকেশন আপেক্ষিক একটি উচ্চ মাত্রার সমান্তরাল গণনা। ক্রম সমান্তরালতা এমনই একটি ধারণা, যেখানে একটি ইনপুট সিকোয়েন্স সময়ের সাথে সাথে একাধিক উপ-উদাহরণে বিভক্ত করা হয়, আনুপাতিকভাবে পিক মেমরি খরচ কমিয়ে গণনাকে আরও দানাদার আকারের উদাহরণ দিয়ে এগিয়ে যেতে দেয়।
বিশেষজ্ঞদের মিশ্রণ (MoE)
সঙ্গে সঙ্গে বিশেষজ্ঞদের মিশ্রণ (MoE) পদ্ধতিতে, যে কোনো একটি ইনপুটের জন্য আউটপুট গণনা করতে নেটওয়ার্কের শুধুমাত্র একটি ভগ্নাংশ ব্যবহার করা হয়। একটি উদাহরণ পদ্ধতি হল ওজনের অনেক সেট থাকা এবং নেটওয়ার্ক অনুমান সময়ে একটি গেটিং প্রক্রিয়ার মাধ্যমে কোন সেট ব্যবহার করতে পারে তা বেছে নিতে পারে। এটি বর্ধিত গণনা খরচ ছাড়াই আরও অনেক পরামিতি সক্ষম করে। প্রতিটি ওজনের সেটকে "বিশেষজ্ঞ" হিসাবে উল্লেখ করা হয় এই আশায় যে নেটওয়ার্ক প্রতিটি বিশেষজ্ঞকে বিশেষ গণনা এবং দক্ষতা নির্ধারণ করতে শিখবে। বিভিন্ন বিশেষজ্ঞদের বিভিন্ন GPU-তে হোস্ট করা যেতে পারে, একটি মডেলের জন্য ব্যবহৃত GPU-গুলির সংখ্যা বৃদ্ধি করার একটি পরিষ্কার উপায় প্রদান করে।
জিশার্ড একটি স্কিম সহ একটি MoE ট্রান্সফরমারকে 600 বিলিয়ন প্যারামিটার পর্যন্ত স্কেল করে যেখানে শুধুমাত্র MoE স্তরগুলি একাধিক TPU ডিভাইসে বিভক্ত হয় এবং অন্যান্য স্তরগুলি সম্পূর্ণরূপে নকল করা হয়। ট্রান্সফরমার সুইচ করুন একক বিশেষজ্ঞের কাছে একটি ইনপুট রাউটিং করে মডেলের আকারকে ট্রিলিয়ন প্যারামিটারে স্কেল করে।
অন্যান্য মেমরি সেভিং ডিজাইন
ক্রমবর্ধমান বৃহৎ নিউরাল নেটওয়ার্কগুলিকে আরও ট্র্যাক্টেবল করার জন্য প্রশিক্ষণের জন্য আরও অনেকগুলি গণনামূলক কৌশল রয়েছে। উদাহরণ স্বরূপ:
-
গ্রেডিয়েন্ট গণনা করার জন্য, আপনাকে আসল অ্যাক্টিভেশনগুলি সংরক্ষণ করতে হবে, যা অনেকগুলি ডিভাইস র্যাম গ্রাস করতে পারে। চেকপয়েন্টিং (অ্যাক্টিভেশন পুনঃগণনা নামেও পরিচিত) অ্যাক্টিভেশনের যেকোন উপসেট সঞ্চয় করে, এবং ব্যাকওয়ার্ড পাসের সময় ঠিক সময়ে মধ্যবর্তীগুলিকে পুনরায় গণনা করে। এটি সর্বাধিক একটি অতিরিক্ত ফুল ফরওয়ার্ড পাসের কম্পিউটেশনাল খরচে অনেক মেমরি সংরক্ষণ করে। একজন ক্রমাগত কম্পিউট এবং মেমরি খরচের মধ্যে ট্রেড অফ করতে পারে নির্বাচনী সক্রিয়করণ পুনর্গণনা, যা সক্রিয়করণের চেকপয়েন্টিং উপসেট যা সংরক্ষণ করা তুলনামূলকভাবে বেশি ব্যয়বহুল কিন্তু গণনা করা সস্তা।
-
মিশ্র যথার্থ প্রশিক্ষণ নিম্ন-নির্ভুলতা সংখ্যা ব্যবহার করে মডেলদের প্রশিক্ষণ দেওয়া (সবচেয়ে বেশি FP16) আধুনিক এক্সিলারেটরগুলি নিম্ন-নির্ভুল সংখ্যার সাথে অনেক বেশি FLOP সংখ্যায় পৌঁছতে পারে এবং আপনি ডিভাইসের র্যামেও সংরক্ষণ করেন। সঠিক যত্ন সহ, ফলাফল মডেল প্রায় কোন নির্ভুলতা হারাতে পারে।
-
অফলোডিং অস্থায়ীভাবে সিপিইউতে বা বিভিন্ন ডিভাইসের মধ্যে অব্যবহৃত ডেটা অফলোড করা এবং পরে যখন প্রয়োজন হয় তখন তা আবার পড়ে। নিষ্পাপ প্রয়োগগুলি প্রশিক্ষণকে অনেক কমিয়ে দেবে, কিন্তু পরিশীলিত বাস্তবায়নগুলি ডেটা প্রাক-আনয়ন করবে যাতে ডিভাইসটিকে কখনই এটির জন্য অপেক্ষা করতে হবে না। এই ধারণা একটি বাস্তবায়ন হয় জেরো যা সমস্ত উপলব্ধ হার্ডওয়্যার জুড়ে প্যারামিটার, গ্রেডিয়েন্ট এবং অপ্টিমাইজার স্টেটগুলিকে বিভক্ত করে এবং প্রয়োজন অনুসারে সেগুলিকে বাস্তবায়িত করে।
-
মেমরি দক্ষ অপ্টিমাইজার অপ্টিমাইজার দ্বারা রক্ষণাবেক্ষণ করা চলমান অবস্থার মেমরি পদচিহ্ন হ্রাস করার প্রস্তাব করা হয়েছে, যেমন অ্যাডফ্যাক্টর.
-
সঙ্কোচন এছাড়াও নেটওয়ার্কে মধ্যবর্তী ফলাফল সংরক্ষণের জন্য ব্যবহার করা যেতে পারে। উদাহরণ স্বরূপ, সারকথা ব্যাকওয়ার্ড পাসের জন্য সংরক্ষিত অ্যাক্টিভেশনগুলি সংকুচিত করে; ডাল·ই গ্রেডিয়েন্টগুলিকে সিঙ্ক্রোনাইজ করার আগে সংকুচিত করে।
OpenAI-তে, আমরা বাস্তব-বিশ্বের সমস্যাগুলির জন্য তাদের মোতায়েন করার জন্য অন্তর্নিহিত অবকাঠামো থেকে বৃহৎ মডেলগুলিকে প্রশিক্ষণ দিচ্ছি এবং উন্নত করছি। আপনি যদি এই পোস্ট থেকে ধারনাগুলিকে অনুশীলনে রাখতে চান - বিশেষ করে আমাদের স্কেলিং এবং ফলিত গবেষণা দলের জন্য প্রাসঙ্গিক - আমরা হায়ারিং!
- a
- সম্পর্কে
- ত্বক
- সঠিক
- দিয়ে
- অতিরিক্ত
- অগ্রগতি
- AI
- অ্যালগরিদম
- সব
- অনুমতি
- মধ্যে
- পরিমাণ
- অন্য
- ফলিত
- প্রয়োগ করা
- অভিগমন
- কাছাকাছি
- সহজলভ্য
- গড়
- বেসলাইন
- পরিণত
- আগে
- শুরু
- হচ্ছে
- মধ্যে
- বিয়াঙ্কা
- বিলিয়ন
- বুদ্বুদ
- যত্ন
- কিছু
- চ্যালেঞ্জ
- সস্তা
- বেছে নিন
- জ্ঞাপক
- যোগাযোগ
- যোগাযোগমন্ত্রী
- গণনা
- গণনা
- গনা
- কম্পিউটিং
- পরপর
- গ্রাস করা
- খরচ
- অবিরাম
- চলতে
- তুল্য
- নকল
- মূল
- পারা
- উপাত্ত
- মোতায়েন
- নকশা
- উন্নত
- যন্ত্র
- ডিভাইস
- বিভিন্ন
- কঠিন
- মাত্রা
- মাত্রা
- নিচে
- সময়
- কার্যকর
- দক্ষতা
- দক্ষ
- উপাদান
- সম্ভব
- প্রকৌশল
- বিশেষত
- উদাহরণ
- উদাহরণ
- ফাঁসি
- ক্যান্সার
- বিশেষজ্ঞদের
- দ্রুত
- প্রতিক্রিয়া
- প্রথম
- পদাঙ্ক
- অগ্রবর্তী
- থেকে
- সম্পূর্ণ
- সাধারণত
- GitHub
- এক পলক দেখা
- জিপিইউ
- জিপিইউ
- ঘটা
- হার্ডওয়্যারের
- জমিদারি
- উচ্চ
- ঊর্ধ্বতন
- ঝুলিতে
- হোস্ট
- কিভাবে
- কিভাবে
- যাহোক
- HTTPS দ্বারা
- ধারণা
- ধারনা
- ভাবমূর্তি
- বাস্তবায়ন
- উন্নতি
- সুদ্ধ
- বৃদ্ধি
- বর্ধিত
- ক্রমবর্ধমান
- ক্রমবর্ধমানভাবে
- স্বাধীনভাবে
- ইঙ্গিত
- পরিকাঠামো
- ইনপুট
- IT
- পরিচিত
- বড়
- স্তর
- নেতৃত্ব
- নেতৃত্ব
- শিখতে
- শিক্ষা
- লাইন
- মেশিন
- মেশিন লার্নিং
- মেশিন
- করা
- গণিত
- জরায়ু
- মানে
- স্মৃতি
- মাইক্রোসফট
- মডেল
- মডেল
- অধিক
- সেতু
- বহু
- গুণমান
- চাহিদা
- নেটওয়ার্ক
- নেটওয়ার্ক
- সংখ্যা
- সংখ্যার
- এনভিডিয়া
- অপারেশন
- অপারেশনস
- অপ্টিমাইজেশান
- অন্যান্য
- সামগ্রিক
- অংশ
- পিডিএফ
- সম্প্রদায়
- কর্মক্ষমতা
- করণ
- বিন্দু
- সম্ভব
- অনুশীলন
- আগে
- সমস্যা
- আয়
- প্রক্রিয়া
- উৎপাদন করা
- পণ্য
- পণ্য
- প্রস্তাবিত
- প্রদানের
- র্যাম
- RE
- নাগাল
- সাম্প্রতিক
- হ্রাস করা
- হ্রাস
- বোঝায়
- প্রাসঙ্গিক
- চিত্রিত করা
- প্রয়োজন
- গবেষণা
- ফলে এবং
- ফলাফল
- চালান
- দৌড়
- বলেছেন
- একই
- রক্ষা
- স্কেল
- আরোহী
- পরিকল্পনা
- স্কিম
- নির্বাচিত
- সেট
- সেটআপ
- অনুরূপ
- একক
- আয়তন
- দক্ষতা
- So
- কিছু
- বাস্তববুদ্ধিসম্পন্ন
- স্থান
- বিশেষজ্ঞ
- বিভক্ত করা
- টুকরা
- রাষ্ট্র
- যুক্তরাষ্ট্র
- এখনো
- দোকান
- দোকান
- কৌশল
- কৌশল
- সুইচ
- প্রযুক্তি
- সার্জারির
- দ্বারা
- থ্রুপুট
- সময়
- বার
- বাণিজ্য
- প্রশিক্ষণ
- স্থানান্তরিত হচ্ছে
- বহু ট্রিলিয়ান
- বোধশক্তি
- আপডেট
- আপডেট
- us
- ব্যবহার
- সাধারণত
- সদ্ব্যবহার করা
- বৈচিত্র্য
- বিভিন্ন
- অপেক্ষা করুন
- যখন
- উইকিপিডিয়া
- মধ্যে
- ছাড়া
- কর্মী
- শ্রমিকদের
- কাজ
- আপনার