MLflow প্রমাণীকরণ সেট আপ করা হচ্ছে

Mlflow Pramanikarana Seta Apa Kara Hacche



MLflow সার্ভারে পরীক্ষা, মডেল এবং আর্টিফ্যাক্টগুলিতে অ্যাক্সেস সুরক্ষিত করার জন্য প্রমাণীকরণ অবশ্যই কনফিগার করা উচিত। একবার সক্ষম হয়ে গেলে, MLflow সার্ভার দ্বারা হোস্ট করা যে কোনও সংস্থান অ্যাক্সেস করতে চায় এমন প্রত্যেক ব্যবহারকারীকে সাইন ইন করতে হবে৷ যেহেতু MLflow ডিফল্টরূপে অন্তর্নির্মিত প্রমাণীকরণ অন্তর্ভুক্ত করে না, তাই এটিকে আলাদাভাবে কাজ করার জন্য সেট আপ করতে হবে৷ প্রমাণীকরণ কৌশল।

সার্ভারে এমএলফ্লো প্রমাণীকরণ কীভাবে সক্ষম করবেন

MLflow প্রমাণীকরণ সক্ষম করতে পরবর্তী কমান্ড ব্যবহার করে MLflow UI চালু করুন:

এমএলফ্লো সার্ভার --অ্যাপ-নাম বেসিক-উথ

অ্যাপ-নাম বিকল্প ছাড়াই সার্ভারটি পুনরায় চালু করার মাধ্যমে, MLflow সার্ভার প্রশাসক যখনই ইচ্ছা এই বৈশিষ্ট্যটি নিষ্ক্রিয় করতে বেছে নিতে পারেন। এখানে কমান্ডের একটি স্ক্রিনশট রয়েছে কারণ এটি উইন্ডোজ অপারেটিং সিস্টেমের কমান্ড লাইন টার্মিনালে প্রদর্শিত হয় (সতর্কতা উপেক্ষা করুন):









MLflow সার্ভারের এখন একটি ব্যবহারকারীর নাম এবং পাসওয়ার্ড প্রয়োজন সার্ভারের পরীক্ষা-নিরীক্ষা এবং আর্টিফ্যাক্টগুলি অ্যাক্সেস করার জন্য যখন একটি ব্রাউজারের মাধ্যমে প্রবেশ করে http://127.0.0.1:5000 URL হিসাবে।







এমএলফ্লোতে প্রমাণীকরণ কীভাবে সেটআপ করবেন

নির্দেশাবলী, কমান্ড এবং কনফিগারেশন ফাইলের নামগুলিতে কিছু ছোটখাটো পরিবর্তনের সাথে, উইন্ডোজে এমএলফ্লো প্রমাণীকরণ সেট আপ করা লিনাক্সে সেট আপ করার মতোই।

এখানে একটি বিপরীত প্রক্সি হিসাবে “htpasswd” এবং Nginx ব্যবহার করে উইন্ডোজে MLflow প্রমাণীকরণ কনফিগার করার জন্য একটি টিউটোরিয়াল রয়েছে। মনে রাখবেন যে এই কনফিগারেশনটি সহজ প্রমাণীকরণ সক্ষম করে এবং অননুমোদিত অ্যাক্সেস এড়াতে MLflow এবং Nginx চালায় এমন কম্পিউটারকে পর্যাপ্তভাবে সুরক্ষিত করা অত্যন্ত গুরুত্বপূর্ণ। উৎপাদন পরিবেশ বা আরও কঠোর নিরাপত্তা প্রয়োজনীয়তার জন্য OAuth ব্যবহার করা বা বাহ্যিক পরিচয় প্রদানকারীদের সাথে MLflow সংযোগ করার কথা বিবেচনা করুন।



এই টিউটোরিয়ালে, আমরা ব্যবহারকারী/পাসওয়ার্ড পরিচালনার জন্য 'htpasswd' এবং বিপরীত প্রক্সি হিসাবে Nginx ব্যবহার করে মৌলিক প্রমাণীকরণ সেট আপ করব।

ধাপ 1: Htpasswd ইনস্টল করুন

যদিও 'htpasswd' একটি নেটিভ উইন্ডোজ অ্যাপ্লিকেশন নয়, আমরা একটি তৃতীয় পক্ষের টুল নিযুক্ত করি যা এখানে Apache Lounge-এর htpasswd ইউটিলিটি নামে পরিচিত। অ্যাপাচি লাউঞ্জের অফিসিয়াল ওয়েবসাইট থেকে এটি ডাউনলোড করুন। এখানে একটি স্ক্রিনশট দেখা যাচ্ছে যে জিপ ফাইলটি ডাউনলোড করে আমাদের ওয়ার্কিং ডাইরেক্টরিতে এক্সট্র্যাক্ট করার পরে অ্যাপাচির বিন ডিরেক্টরিতে আমাদের 'htpasswd.exe' রয়েছে:

যেকোনো কমান্ড প্রম্পট থেকে 'htpasswd.exe' ব্যবহার করতে, পরিবেশ ভেরিয়েবলে আপনার সিস্টেমের PATH-এর একটি অবস্থানে এটিকে এখনই কপি করুন।

ধাপ 2: একটি পাসওয়ার্ড ফাইল তৈরি করুন

পাসওয়ার্ড ফাইল তৈরি করতে, একটি কমান্ড প্রম্পট খুলুন এবং উপযুক্ত স্থানে যান। একটি নতুন পাসওয়ার্ড ফাইল তৈরি বা সেট করতে বা ব্যবহারকারীদের বর্তমান ফাইলে যোগ করতে 'htpasswd' ব্যবহার করুন। ফাইলের প্রতিটি লাইনে একটি এনক্রিপ্ট করা ব্যবহারকারীর নাম এবং পাসওয়ার্ড থাকতে হবে। ব্যবহারকারীর জন্য নতুন শংসাপত্র যোগ করতে বা বিদ্যমান ব্যবহারকারীর পাসওয়ার্ড আপডেট করতে নিম্নলিখিত কমান্ডটি ব্যবহার করুন:

htpasswd -c /path/to/PASSWORD_FILE_NAME USERNAME

পাইথন ফোল্ডারে যান (এই ক্ষেত্রে, কার্যকারী ডিরেক্টরি) এবং নিম্নলিখিত স্নিপেটে দেখানো হিসাবে টার্মিনাল বা প্রম্পট উইন্ডোতে পূর্বোক্ত কমান্ডটি টাইপ করুন। পাসওয়ার্ড ফাইল, mlflow-authfile, তৈরি করা হয়েছে।

'প্রশাসক' ব্যবহারকারীর নাম যোগ করার পরে এবং 'এন্টার' কী টিপে, সিস্টেমটি পাসওয়ার্ডের জন্য জিজ্ঞাসা করে। প্রম্পটে একই পাসওয়ার্ড পুনরায় টাইপ করার পরে, ব্যবহারকারী সফলভাবে তৈরি করা হয়েছে, এবং এটি দেখায় যে ব্যবহারকারীকে প্রয়োজনীয় পাসওয়ার্ড দিয়ে যুক্ত করা হয়েছে:

এখানে প্রয়োজনীয় পাসওয়ার্ড ফাইল তৈরি করা হয়েছে এমন ডিরেক্টরিটি দেখানো একটি স্ক্রিনশট রয়েছে:

'ব্যবহারকারীর নাম:পাসওয়ার্ড' বিন্যাসে একটি ব্যবহারকারীর নাম এবং এনক্রিপ্ট করা পাসওয়ার্ড ফাইলের প্রতিটি লাইনে উপস্থিত হওয়া উচিত।

ধাপ 3: Nginx ইনস্টল এবং কনফিগার করুন

অফিসিয়াল ওয়েবসাইট থেকে Nginx এর উইন্ডোজ বাইনারিগুলি পান। Nginx ফোল্ডারে ওয়ার্কিং ডিরেক্টরিতে ডাউনলোড করা ফাইলটি বের করুন:

Nginx এ একটি নতুন MLFlow সার্ভার ব্লক তৈরি করুন। Nginx ডিরেক্টরিতে একটি কমান্ড প্রম্পট খুলে 'mlflow-site' ডিরেক্টরি তৈরি করুন:

এখনই MLflow কনফিগারেশনের জন্য একটি নতুন ফাইল তৈরি করার সময়। সার্ভারের ডোমেইন নাম বা IP ঠিকানা লোকালহোস্ট দিয়ে প্রতিস্থাপন করুন। এছাড়াও, পথে ফরোয়ার্ড স্ল্যাশ ব্যবহার করে, প্রতিস্থাপন করুন D:/Work/Python/mlflow-auth পূর্বে তৈরি করা পাসওয়ার্ড ফাইলের সঠিক পথ সহ। MLflow সার্ভারের URI-তে proxy_pass-এর মান পরিবর্তন করুন। পোর্টগুলি প্রয়োজনীয় পোর্ট নম্বরগুলির সাথে সামঞ্জস্যযোগ্য।

এখানে পরিবর্তন করার জন্য কোডের স্নিপেট রয়েছে:

আইপি ঠিকানা খুঁজে পেতে কমান্ড প্রম্পটে 'ipconfig' কমান্ড লিখুন:

ধাপ 4: Nginx সার্ভার ব্লক সক্ষম করুন

Nginx সার্ভার ব্লক সক্রিয় করার জন্য, কমান্ড প্রম্পটে নিম্নলিখিত কমান্ডটি ব্যবহার করে একটি প্রতীকী লিঙ্ক তৈরি করুন:

সিডি D:\Work\nginx\conf\mlflow- সাইট

mklink mlflow D:\Work\nginx\conf\mlflow- সাইট \mlflow

ধাপ 5: Nginx শুরু করুন

'nginx.exe' কমান্ডটি প্রবেশ করান এবং একটি কমান্ড প্রম্পট থেকে Nginx চালু করতে Nginx ডিরেক্টরিতে নেভিগেট করুন:

ধাপ 6: MLflow সার্ভার শুরু করুন

নিম্নলিখিত কমান্ডের সাহায্যে, যার মধ্যে MLflow সার্ভারের ব্যাকএন্ড স্টোরেজ পাথ রয়েছে, আপনি একটি নতুন টার্মিনাল উইন্ডো বা কমান্ড প্রম্পটে MLflow সার্ভার শুরু বা পুনরায় চালু করতে পারেন। পরীক্ষা, অনুসন্ধান এবং অন্যান্য ক্রিয়াকলাপের ফলাফল এই পথে সংরক্ষণ করা হয়:

MLflow সার্ভার শুরু করার জন্য কমান্ড:

mlflow সার্ভার --হোস্ট 127.0.0.1 --পোর্ট 5000 --backend-store-uri D:/Work/Python/Storage

যদি, পূর্বোক্ত কমান্ডটি কার্যকর করার পরে, আপনি নিম্নলিখিত ত্রুটিটি দেখতে পান, চিন্তা করবেন না; সমস্যাটি ঠিক করতে নিম্নলিখিত কমান্ডটি চালান:

ত্রুটি সমাধানের জন্য স্থানীয় ফাইল সিস্টেমে মডেল রেজিস্ট্রি ডেটা সংরক্ষণ করতে URI স্কিম পরিবর্তন করুন:

mlflow সার্ভার --হোস্ট 127.0.0.1 --পোর্ট 5000 --ব্যাকএন্ড-স্টোর-ইউরি ফাইল :///D:/Work/Python/Storage

ধাপ 7: প্রমাণীকরণ সহ MLflow অ্যাক্সেস করুন

এখন, যখন কেউ ডোমেন বা আইপি ঠিকানার মাধ্যমে MLflow অ্যাক্সেস করে তখন Nginx MLflow সার্ভার এবং এর শিল্পকর্মগুলিতে অ্যাক্সেস দেওয়ার আগে একটি ব্যবহারকারীর নাম এবং পাসওয়ার্ডের অনুরোধ করবে। এখন, MLflow এর UI এবং API অ্যাক্সেস করার জন্য, MLflow অ্যাক্সেস করার জন্য একটি ওয়েব ব্রাউজার ব্যবহার করার সময় আপনাকে প্রথমে একটি লগইন ব্যবহারকারীর নাম এবং পাসওয়ার্ড প্রদান করতে হবে।

উপসংহার

Windows-এ MLflow প্রমাণীকরণের জন্য প্রমাণীকরণ চালু থাকা অবস্থায় বিপরীত প্রক্সির পিছনে MLflow করতে হবে। এই উদাহরণে, Nginx বিপরীত প্রক্সি হিসাবে কাজ করে, ব্যবহারকারীর ব্রাউজার এবং MLflow সার্ভারের মধ্যে মধ্যস্থতাকারী হিসাবে কাজ করে। মৌলিক প্রমাণীকরণ কার্যকর করার জন্য Nginx কনফিগার করে MLflow-এর জন্য ব্যবহারকারী ইন্টারফেস এবং API অ্যাক্সেস করার আগে ব্যবহারকারীদের একটি ব্যবহারকারীর নাম এবং পাসওয়ার্ড লিখতে অনুরোধ করা হচ্ছে।

সর্বশেষ কিন্তু অন্তত নয়, আপনি সাম্প্রতিকতম এবং নিরাপদ অনুশীলনগুলি মেনে চলছেন তা নিশ্চিত করতে, MLflow এবং Nginx-এর জন্য সাম্প্রতিকতম ডকুমেন্টেশন এবং সংস্থানগুলির সাথে পরামর্শ করা সর্বদা গুরুত্বপূর্ণ।