পরবর্তী আপপরবর্তী গাইড
বড় মডেলের জন্য টেনসর সমান্তরালতা
টেকনিক্যাল
প্রযুক্তিগত গাইড
যখন একটি মডেল একটি জিপিইউতে ফিট করার জন্য খুব বড় হয়, তখন মডেল এবং পাইপলাইন সমান্তরাল ডিভাইসগুলি জুড়ে মডেলটিকে বিভক্ত করে।
এই নির্দেশিকা শুনুনএআই-বর্ণিত · ~2 min
এটিই শত শত বিলিয়ন প্যারামিটার সহ দৈত্যাকার ভাষা মডেলকে শারীরিকভাবে সম্ভব করে তোলে।
মডেল সমান্তরালতা একাধিক GPU জুড়ে একটি একক মডেল পার্টিশন করে তাই কোনো একটি ডিভাইসের সমস্ত ওজন ধরে রাখতে হবে না। দুটি প্রধান স্বাদ আছে। টেনসর (ইন্ট্রা-লেয়ার) সমান্তরালতা একটি স্তরের ভিতরে গণিতকে বিভক্ত করে, যেমন GPU গুলি জুড়ে একটি বড় ম্যাট্রিক্স গুণন কাটা যা প্রতিটি আউটপুটের অংশ গণনা করে। পাইপলাইন (আন্তঃস্তর) সমান্তরালতা বিভিন্ন জিপিইউতে পরপর বিভিন্ন স্তর বরাদ্দ করে, তাই লেয়ার ব্লক 1 জিপিইউ 0-তে, ব্লক 2 জিপিইউ 1-তে, এবং আরও অনেক কিছু, অ্যাক্টিভেশনগুলি অ্যাসেম্বলি লাইনের মতো এগিয়ে যায়। নিষ্পাপ পাইপলাইনিংয়ের সাথে চ্যালেঞ্জ হল 'বাবল': যখন GPU 0 প্রথম ব্যাচে কাজ করে, ডাউনস্ট্রিম GPU গুলি নিষ্ক্রিয় থাকে। পাইপলাইন প্রতিটি ব্যাচকে মাইক্রো-ব্যাচে বিভক্ত করে যাতে সমস্ত স্তর ব্যস্ত থাকে, নাটকীয়ভাবে ব্যবহার উন্নত করে।
NVIDIA Megatron-LM এর সাথে GPT-শৈলী মডেলের প্রশিক্ষণ, যা টেনসর সমান্তরালতার মাধ্যমে GPU জুড়ে প্রতিটি ট্রান্সফরমার স্তরের মনোযোগ এবং ফিড-ফরোয়ার্ড ম্যাট্রিক্সকে বিভক্ত করে।
GPipe ব্যবহার করে একটি দৈত্যাকার দৃষ্টি বা ভাষার মডেলের বিভিন্ন স্তর আলাদা এক্সিলারেটরে স্থাপন করার সময় মাইক্রো-ব্যাচিং তাদের ব্যস্ত রাখে।
ডিপস্পিডের পাইপলাইন ইঞ্জিন বহু-শত-বিলিয়ন-প্যারামিটার মডেলকে বিভিন্ন নোড জুড়ে পর্যায়গুলিতে বিভাজন করে।
একটি একক 8-GPU সার্ভারের ভিতরে টেনসরের সমান্তরালতাকে একত্রিত করা পাইপলাইন সমান্তরালতার সাথে একাধিক সার্ভারে বিস্তৃত একটি মডেলকে একটি মেশিনের জন্য অনেক বড় প্রশিক্ষণ দিতে।
কম্পিউট এবং যোগাযোগের ভারসাম্য বজায় রাখার জন্য প্রোফাইলিং এবং অনুসন্ধান ব্যবহার করে কীভাবে ডিভাইস জুড়ে একটি মডেলকে বিভাজন করা যায় তা সিদ্ধান্ত নেওয়ার কঠিন সমস্যাকে ফ্রেমওয়ার্কগুলি ক্রমবর্ধমানভাবে স্বয়ংক্রিয় করে। টেনসর, পাইপলাইন এবং ডেটা সমান্তরালতা (3D সমান্তরালতা), প্রায় পাইপলাইন বুদবুদগুলি দূর করার জন্য আরও স্মার্ট মাইক্রো-ব্যাচ শিডিউলিং এবং দ্রুত আন্তঃসংযোগ সহ হার্ডওয়্যারগুলির কঠোর সংহতকরণ আশা করুন যাতে চিপ জুড়ে একটি একক স্তর বিভক্ত করা আরও বড় মডেলের জন্য সস্তা এবং আরও নিয়মিত হয়ে ওঠে।
ফ্রি নিউজলেটার
প্রতি সপ্তাহের কাজের দিন সকালে তিনটি যাচাইকৃত এআই স্টোরি, সহজ ইংরেজিতে লেখা। চিরকালের জন্য ফ্রি, কোনো বিজ্ঞাপন নেই।
প্রতি সপ্তাহের কাজের দিনে একটি ইমেল। এক ক্লিকেই আনসাবস্ক্রাইব করুন। আমরা কখনোই আপনার ঠিকানা বিক্রি বা শেয়ার করি না।
নিজেকে পরীক্ষা করুন
প্রতিটি উত্তরের তাৎক্ষণিক ফিডব্যাক, এবং কোর্স পাস করার পর যাচাইযোগ্য আইডি সহ একটি শেয়ারযোগ্য সার্টিফিকেট।
ফ্রি এআই শিক্ষাকে সমর্থন করুন। AI Understanding একটি 501(c)(3) অলাভজনক প্রতিষ্ঠান — কোনো বিজ্ঞাপন নেই, কোনো পেওয়াল নেই, কখনোই না। একটি দান করুন
যখন একটি মডেল একটি জিপিইউতে ফিট করার জন্য খুব বড় হয়, তখন মডেল এবং পাইপলাইন সমান্তরাল ডিভাইসগুলি জুড়ে মডেলটিকে বিভক্ত করে। এটিই শত শত বিলিয়ন প্যারামিটার সহ দৈত্যাকার ভাষা মডেলকে শারীরিকভাবে সম্ভব করে তোলে।
মডেল এবং পাইপলাইন সমান্তরাল পার্টিশন মডেল নিজেই ডিভাইস জুড়ে, যে কোনো একক GPU ধারণ করতে পারে তার চেয়ে অনেক বড় নেটওয়ার্কের প্রশিক্ষণ সক্ষম করে।
টেনসর সমান্তরালতা একটি একক স্তরের মধ্যে গণনাকে বিভক্ত করে, উদাহরণস্বরূপ একটি বড় ওজন ম্যাট্রিক্সকে বিভক্ত করা যাতে প্রতিটি GPU আউটপুটের অংশ গণনা করে।
পাইপলাইনের প্রাথমিক পর্যায়ে, ডাউনস্ট্রীম স্টেজে এখনও কোনো ইনপুট নেই এবং নিষ্ক্রিয় বসে থাকে, GPU সময় নষ্ট করে; এই নিষ্ক্রিয় ফাঁকটিকে বুদবুদ বলা হয়।
একটি ব্যাচকে মাইক্রো-ব্যাচে বিভক্ত করার ফলে একাধিক মাইক্রো-ব্যাচ একই সাথে বিভিন্ন পর্যায় দখল করতে দেয়, সমস্ত GPU-কে ব্যস্ত রাখে এবং অলস সময়কে সঙ্কুচিত করে।
টেনসর সমান্তরালতা আংশিক ম্যাট্রিক্স ফলাফলগুলি পুনরায় সংযুক্ত করার জন্য ঘন ঘন যোগাযোগ করে, তাই এটি স্থাপন করা হয় যেখানে আন্তঃসংযোগ ব্যান্ডউইথ সর্বোচ্চ, NVLink-এর উপর একটি নোডের ভিতরে।
শিখতে থাকুন
এই বিষয়ের জন্য বাছাই করা আরও গাইড
পরবর্তী আপপরবর্তী গাইড
বড় মডেলের জন্য টেনসর সমান্তরালতা
টেকনিক্যাল