হুয়াওয়ে ঘোষণা করেছে যে এটির টেনসরফ্লো এবং পাইটর্চ স্টাইল মাইন্ডস্পোর ডিপ লার্নিং মিডলওয়্যার এখন ওপেন সোর্স। এই নিবন্ধে এটির সর্বাধিক গুরুত্বপূর্ণ বৈশিষ্ট্যগুলি সন্ধান করুন।
হুয়াওই সবেমাত্র ঘোষণা করেছে যে এআই অ্যাপ্লিকেশনগুলি বিকাশের জন্য তার মাইন্ডস্পোর কাঠামোটি মুক্ত উত্স হয়ে উঠছে এবং জিহাব এবং গিটিতে উপলব্ধ। মাইন্ডস্পোর হ'ল টেনসরফ্লো বা পাইটর্চের মতো নিউরাল নেটওয়ার্ক মডেলগুলির প্রশিক্ষণের জন্য আরও একটি গভীর লার্নিং ফ্রেমওয়ার্ক, এটি জিপিইউ এবং স্পষ্টতই হুয়াওয়ে আরোহী প্রসেসর উভয়কেই সমর্থন করে।
গত আগস্টে, হুয়াওয়ে যখন তার অ্যাসেন্ড প্রসেসরটির আনুষ্ঠানিক উদ্বোধন করার ঘোষণা করেছিল, তখন মাইন্ডস্পোর প্রথমে প্রবর্তন করা হয়েছিল, উল্লেখ করে যে একটি সাধারণ রেসনেট -50 ভিত্তিক প্রশিক্ষণ অধিবেশন, অ্যাসেন্ড 910 এবং মাইন্ডস্পোরের সংমিশ্রণ প্রায় দ্বিগুণ। টেনসরফ্লো ব্যবহার করে এআই মডেলগুলি বনাম অন্যান্য বড় লার্নিং কার্ডের প্রশিক্ষণ দেওয়ার সময় এটি সত্য যে সাম্প্রতিক বছরগুলিতে অনেকগুলি কাঠামো উদ্ভূত হয়েছে এবং সম্ভবত মাইন্ডস্পোর এমন একটি গ্রুপের চেয়ে বেশি কিছু নয় যা টেনসরফ্লো (গুগল সমর্থিত) এবং পাইটর্চ (ফেসবুক দ্বারা সমর্থিত) সাথে প্রতিযোগিতা করতে পারে)।
সিস্টেম আর্কিটেকচার
মাইন্ডস্পোর ওয়েবসাইট বর্ণনা করে যে পরিকাঠামোটি তিনটি প্রধান স্তর নিয়ে গঠিত: ফ্রন্টএন্ড এক্সপ্রেশন, গ্রাফিক্স ইঞ্জিন এবং ব্যাকএন্ড রানটাইম। নিম্নলিখিত চিত্রটি একটি চাক্ষুষ চিত্রটি দেখায়:
মাইন্ডস্পোর প্রথম স্তর প্রোগ্রামারদের জন্য পাইথন এপিআই সরবরাহ করে। যেহেতু আমাদের সম্প্রদায়ের ভাষার ভাষাতত্ত্বগুলি সত্যিকারের পাইথন, এবং অন্যথায় মাইন্ডস্পোর পাইটর্চ এবং টেনসরফ্লোয়ের সাথে প্রতিযোগিতা করতে চায়। এই এপিআই দিয়ে প্রোগ্রামাররা মডেলগুলি (প্রশিক্ষণ, অনুক্রম ইত্যাদি) পরিচালনা করতে এবং ডেটা প্রক্রিয়া করতে পারে। এই প্রথম স্তরে কোড অন্তর্বর্তীকালীন উপস্থাপনা (মাইন্ডস্পোর আইআর) এর জন্য সমর্থনও অন্তর্ভুক্ত রয়েছে, যার ভিত্তিতে অনেকগুলি অপ্টিমাইজেশন ভিত্তিক করা হবে যা সমান্তরালকরণ এবং স্বয়ংক্রিয় পার্থক্য (জিএইচএলও) সম্পাদন করা যেতে পারে।
নীচে গ্রাফ ইঞ্জিন স্তরটি কার্যকর করা গ্রাফের স্বয়ংক্রিয় পার্থক্য তৈরি এবং সম্পাদন করতে প্রয়োজনীয় কার্যকারিতা সরবরাহ করে। মাইন্ডস্পোরের সাহায্যে তারা পাইটর্চ (যা একটি গতিশীল এক্সিকিউশন গ্রাফ উত্পন্ন করে) বা টেনসরফ্লো (যদিও আরও কার্যকর স্ট্যাটিক এক্সিকিউশন শিডিউল তৈরির বিকল্পটি মূলত নির্বাচিত হয়েছিল) ব্যতীত একটি স্বয়ংক্রিয় ডিফারেনশনের মডেল বেছে নিয়েছিল, এটি এখন একটি গতিশীল এক্সিকিউশন গ্রাফ বিকল্প সরবরাহ করে এবং অনুমতি দেয় @ tf.function এর নিম্ন স্তরের API এর সজ্জা ব্যবহার করে গ্রাফের একটি স্ট্যাটিক সংস্করণ।
মাইন্ডস্পোরের পছন্দটি হ'ল দুটি মডেলের সুবিধা নিতে উত্স কোডটি মধ্যবর্তী কোড ফর্ম্যাটকে (মাইন্ডস্পোর আইআর) রূপান্তর করা (আরও তথ্যের জন্য, মাইন্ডস্পোর ওয়েবসাইটে "স্বয়ংক্রিয় বিচ্ছেদ" বিভাগটি দেখুন)।
চূড়ান্ত স্তরটিতে সমস্ত হার্ডওয়্যার আর্কিটেকচারে কোড প্রক্রিয়াকরণে সহায়তা করার জন্য প্রয়োজনীয় সমস্ত লাইব্রেরি এবং রানটাইম পরিবেশ রয়েছে। সম্ভবত, এটি অন্যান্য ফ্রেমওয়ার্কগুলির মতোই ব্যাকএন্ড হবে, সম্ভবত হুয়াওয়ের বৈশিষ্ট্যগুলির সাথে, যেমন এইচসিসিএল (হুয়াওয়ে কালেক্টিভ কমিউনিকেশন লাইব্রেরি), এনভিআইডিএ এনসিসিএল (এনভিআইডিআইএ কালেক্টিভ কমিউনিকেশন লাইব্রেরি) এর সমতুল্য।
প্রশিক্ষণ চাক্ষুষ সমর্থন
মাইন্ডস্পোর টিউটোরিয়াল অনুসারে, যদিও এগুলি ইনস্টল করা এবং ব্যবহার করা অসম্ভব ছিল তবুও তাদের কাছে ভিজ্যুয়ালাইজেশন তৈরি করার জন্য মাইন্ডইনসাইট রয়েছে যা কিছুটা টেনসরবোর্ড, টেনসরফ্লোয়ের স্মৃতি মনে করে। তাদের ওয়েবসাইটে প্রদর্শিত স্ক্রিনশটগুলি একবার দেখুন:
ম্যানুয়াল অনুসারে, মাইন্ডস্পোর বর্তমানে আমাদের যে সমস্ত মডেল পরামিতি এবং হাইপারপ্যারামিটারগুলি আমরা চাই প্রশিক্ষণের প্রক্রিয়াটিতে লেখার জন্য (একটি লগ ফাইলে) একটি কলব্যাক প্রক্রিয়া (যেটি কেরাসের সাথে করা হয় তা স্মরণ করিয়ে দেয়) পাশাপাশি গণনার সময়সূচী ব্যবহার করে মধ্যবর্তী কোডে নিউরাল নেটওয়ার্ক সংকলন সম্পূর্ণ।
সমান্তরালতা
তাদের টিউটোরিয়ালে, তারা দুটি সমান্তরালতা মোড (ডেটাপ্যারালিল এবং অটোপ্যারালিল) সম্পর্কে কথা বলে এবং নমুনা কোড সরবরাহ করে যা রেসনেট -50কে একটি এসেন্ড 910 প্রসেসরের জন্য সিআইএফআর ডেটাসেট দিয়ে প্রশিক্ষণ দেয় (যা আমি পরীক্ষা করতে অক্ষম ছিলাম)। ডেটা_প্যারালিল এমন একটি কৌশলকে বোঝায় যা সাধারণত ডেটা প্যারালালিজম হিসাবে পরিচিত, যা প্রশিক্ষণ তথ্যকে একাধিক উপধারায় বিভক্ত করে, যার প্রত্যেকটিই মডেলের একই প্রতিরূপে চলে তবে বিভিন্ন প্রসেসিং ইউনিটে। কোড সমান্তরালনের জন্য এবং বিশেষত AUTO_PARALLEL সমান্তরালতার জন্য গ্রাফ ইঞ্জিন সমর্থন সরবরাহ করা হয়।
AUTO_PARALLEL মোড স্বয়ংক্রিয়ভাবে ডেটা প্যারালালাইজেশন কৌশলটি (উপরে আলোচনা করা হয়েছে) মডেল সমান্তরালীন কৌশলটির সাথে সম্মিলন করে সমান্তরালকরণকে অনুকূল করে তোলে, যাতে মডেলটি বিভিন্ন অংশে বিভক্ত হয় এবং প্রতিটি অংশ সমান্তরালে বিভিন্ন প্রক্রিয়াজাতকরণ ইউনিটে সম্পাদিত হয়। এই স্বয়ংক্রিয় মোডটি সমান্তরালীন কৌশলটি নির্বাচন করে যা সর্বোত্তম সুবিধা দেয়, যা মাইন্ডস্পোর ওয়েবসাইটে স্বয়ংক্রিয় সমান্তরাল বিভাগে পড়তে পারে (যদিও তারা কীভাবে অনুমান এবং সিদ্ধান্ত নেওয়া হয় তা বর্ণনা করে না)। প্রযুক্তিগত দলকে ডকুমেন্টেশন প্রসারিত করার জন্য এবং অটো-প্যারালালাইজেশন কৌশল সম্পর্কে আরও বিশদ বোঝার জন্য আমাদের অপেক্ষা করতে হবে। তবে এটি স্পষ্ট যে এই অটো-প্যারালালাইজেশন কৌশলটি সমালোচনামূলক, এবং হুয়াওয়ে প্রসেসরগুলি ব্যবহার করে উল্লেখযোগ্যভাবে আরও ভাল পারফরম্যান্স অর্জন করে তাদের এটাই টেনসরফ্লো বা পাইটর্চের সাথে প্রতিযোগিতা করা উচিত এবং করা উচিত।
পরিকল্পনাযুক্ত রোডম্যাপ এবং কীভাবে অবদান রাখবেন
স্পষ্টতই অনেক কাজ করার দরকার আছে এবং এই মুহুর্তে তারা এই পৃষ্ঠায় উপস্থাপিত বিস্তৃত রোডম্যাপে তাদের মনে থাকা ধারণাগুলি পরবর্তী বছরের জন্য প্রবাহিত করেছে, তবে তারা যুক্তি দেয় যে অগ্রাধিকারগুলি ব্যবহারকারী অনুযায়ী সামঞ্জস্য করা হবে।
মতামত। এই মুহুর্তে আমরা এই প্রধান লাইনগুলি খুঁজে পেতে পারি:
- আরও মডেলগুলির জন্য সমর্থন (মুলতুবি ক্লাসিক মডেল, জিএএন, আরএনএন, ট্রান্সফর্মারস, প্রশস্ত শিক্ষণ মডেল, সম্ভাব্য প্রোগ্রামিং, অটোএমএল ইত্যাদি)।
- ব্যবহারযোগ্যতা এবং প্রোগ্রামিং অভিজ্ঞতা উন্নত করতে API গুলি এবং গ্রন্থাগারগুলি প্রসারিত করুন (আরও বেশি অপারেটর, আরও বেশি অপ্টিমাইজার, আরও ক্ষতির ফাংশন ইত্যাদি)
- বিস্তৃত হুয়াওয়ে অ্যাসেন্ড প্রসেসর সমর্থন এবং পারফরম্যান্স অপটিমাইজেশন (সংকলন অপ্টিমাইজেশন, রিসোর্স ব্যবহারের উন্নতি ইত্যাদি)
- সফ্টওয়্যার স্ট্যাকের বিবর্তন এবং কম্পিউটেশনাল গ্রাফ অপ্টিমাইজেশনের কার্যকরকরণ (ইন্টারমিডিয়েট আইআর উপস্থাপনা উন্নতকরণ, অতিরিক্ত অপ্টিমাইজেশন ক্ষমতা যুক্তকরণ ইত্যাদি)।
- আরও প্রোগ্রামিং ভাষার জন্য সমর্থন (কেবল পাইথন নয়)।
- স্বয়ংক্রিয় সময়সূচী, ডেটা বিতরণ ইত্যাদির অপ্টিমাইজেশন সহ উন্নত বিতরণ শেখা
- প্রোগ্রামারটিকে "ডিবাগ" করা এবং শেখার প্রক্রিয়া চলাকালীন হাইপারপ্যারামিটার টিউনিং উন্নত করার জন্য মাইন্ডআইনসাইট সরঞ্জামটি উন্নত করুন।
- প্রান্তে ডিভাইসগুলিতে অনুমান কার্যকারিতা সরবরাহে অগ্রগতি (সুরক্ষা, ওএনএনএক্সের মাধ্যমে নন-প্ল্যাটফর্ম মডেলের জন্য সমর্থন ইত্যাদি)
সম্প্রদায়ের পৃষ্ঠায়, আপনি দেখতে পাচ্ছেন যে মাইন্ডস্পোরের হুয়াওয়ে এবং চীনের বাইরে অংশীদার রয়েছে, যেমন এডিনবার্গ বিশ্ববিদ্যালয়, ইম্পেরিয়াল কলেজ লন্ডন, মুনস্টার বিশ্ববিদ্যালয় (জার্মানি) বা প্যারিস-স্যাকলে বিশ্ববিদ্যালয়। তারা বলেছে যে তারা একটি উন্মুক্ত প্রশাসনের মডেল অনুসরণ করবে এবং পুরো সম্প্রদায়কে কোড এবং ডকুমেন্টেশন উভয় ক্ষেত্রেই অবদান রাখতে আমন্ত্রণ জানাবে।
উপসংহার
তাত্ক্ষণিকভাবে প্রথম নজরে আসার পরে, মনে হয় সঠিক নকশা এবং প্রয়োগের সিদ্ধান্তগুলি (যেমন চুক্তি এবং স্বয়ংক্রিয় পার্থক্য) উন্নতি করতে ও অনুকূলিতকরণের জন্য জায়গা যোগ করতে পারে যা তারা যে ফ্রেমওয়ার্কগুলিকে ছাড়িয়ে যেতে চায় তার চেয়ে আরও ভাল পারফরম্যান্স অর্জন করে।কিন্তু পাইটর্চ এবং টেনসরফ্লো ধরার জন্য এখনও অনেক কাজ বাকি আছে এবং সর্বোপরি একটি সম্প্রদায় গড়ে তোলা, কেবল নয়! যাইহোক, আমরা সকলেই ইতিমধ্যে জানি যে হুয়াওয়ের মতো সেক্টরে একটি বড় সংস্থার সহায়তায় যে কোনও কিছুই সম্ভব, বা তিন বছর আগে এটি স্পষ্ট ছিল যখন পাইটর্চের প্রথম সংস্করণ (ফেসবুক) প্রকাশিত হয়েছিল যে এটি হিলের কাছাকাছি হতে পারে could টেনসরফ্লো (গুগল) এর?