paint-brush
এআইকে ইটিএল পুনরায় উদ্ভাবনে সময় নষ্ট করতে হবে নাদ্বারা@jean-lafleur
3,700 পড়া
3,700 পড়া

এআইকে ইটিএল পুনরায় উদ্ভাবনে সময় নষ্ট করতে হবে না

দ্বারা John Lafleur6m2023/08/15
Read on Terminal Reader
Read this story w/o Javascript

অতিদীর্ঘ; পড়তে

AI অ্যাপ্লিকেশনের জন্য ডেটা চলাচলের চ্যালেঞ্জ, নিষ্কাশন এবং লোডিং পাইপলাইনগুলির প্রয়োজনীয়তা এবং বিদ্যমান সমাধানগুলি ব্যবহার করার সুবিধাগুলি সম্পর্কে জানুন। কীভাবে এআই ইঞ্জিনিয়াররা তাদের ব্যবহারকারীদের জন্য মান যোগ করার উপর ফোকাস করার জন্য যুদ্ধ-পরীক্ষিত প্ল্যাটফর্মগুলি ব্যবহার করে সময় এবং শ্রম বাঁচাতে পারে তা খুঁজে বের করুন।
featured image - এআইকে ইটিএল পুনরায় উদ্ভাবনে সময় নষ্ট করতে হবে না
John Lafleur HackerNoon profile picture
0-item
1-item

AI-তে সাম্প্রতিক অগ্রগতি খুবই উত্তেজনাপূর্ণ। লোকেরা এটিকে গ্রাহক সহায়তার অভিজ্ঞতার উন্নতি এবং কোড লেখা এবং চালানো থেকে শুরু করে নতুন সঙ্গীত তৈরি করা এবং এমনকি মেডিকেল ইমেজিং প্রযুক্তিকে ত্বরান্বিত করা পর্যন্ত সব ধরণের অভিনব উপায়ে ব্যবহার করছে।


কিন্তু এই প্রক্রিয়ার মধ্যে, একটি উদ্বেগজনক প্রবণতা দেখা দিয়েছে: এআই সম্প্রদায় ডেটা মুভমেন্ট (ওরফে ইটিএল) নতুন করে উদ্ভাবন করছে বলে মনে হচ্ছে। সেগুলিকে কানেক্টর, এক্সট্রাক্টর, ইন্টিগ্রেশন, ডকুমেন্ট লোডার বা অন্য কিছু বলা হোক না কেন, লোকেরা একই API, ডকুমেন্ট ফরম্যাট এবং ডাটাবেস থেকে ডেটা বের করার জন্য একই কোড লিখছে এবং তারপরে তাদের LLM-এর জন্য ভেক্টর DB বা সূচকে লোড করছে।


সমস্যা হল যে শক্তিশালী নিষ্কাশন এবং স্ক্র্যাচ থেকে পাইপলাইন লোড করা এবং রক্ষণাবেক্ষণ করা একটি বিশাল প্রতিশ্রুতি। এবং সেই এলাকায় এত বেশি পূর্বের শিল্প রয়েছে যে AI স্পেসে প্রায় সমস্ত ইঞ্জিনিয়ার বা কোম্পানির জন্য, এটি পুনর্নির্মাণ করা একটি বিশাল সময়ের অপচয়। এমন একটি জায়গায় যেখানে প্রায় প্রতি ঘন্টায় ব্রেকিং নিউজ আবির্ভূত হয়, প্রধান ফোকাস আপনার মূল পণ্যটিকে আপনার ব্যবহারকারীদের জন্য অবিশ্বাস্য করে তোলার দিকে হওয়া উচিত, পার্শ্ব অনুসন্ধানে না গিয়ে৷ এবং প্রায় প্রত্যেকের জন্য, মূল পণ্যটি ডেটা মুভমেন্ট নয়; এটি AI-চালিত ম্যাজিক সস যা আপনি তৈরি করছেন।


শক্তিশালী এক্সট্র্যাক্ট, ট্রান্সফর্ম এবং লোড (ইটিএল) পাইপলাইন নির্মাণে জড়িত চ্যালেঞ্জগুলি সম্পর্কে অনেক কিছু লেখা হয়েছে ( 1 , 2 ) তবে আসুন AI এর মধ্যে এটিকে প্রাসঙ্গিক করা যাক।

কেন AI ডেটা আন্দোলনের প্রয়োজন?

পাবলিক ডেটাতে প্রশিক্ষিত এলএলএমগুলি দুর্দান্ত, তবে আপনি জানেন আরও ভাল কী? AI যা আমাদের, আমাদের কোম্পানি এবং আমাদের ব্যবহারকারীদের নির্দিষ্ট প্রশ্নের উত্তর দিতে পারে। আমরা সবাই এটা পছন্দ করব যদি ChatGPT আমাদের সম্পূর্ণ কোম্পানির উইকি শিখতে পারে, আমাদের সমস্ত ইমেল, স্ল্যাক বার্তা, মিটিং নোট এবং প্রতিলিপিগুলি পড়তে পারে, আমাদের কোম্পানির বিশ্লেষণী পরিবেশে প্লাগ করতে পারে এবং আমাদের প্রশ্নের উত্তর দেওয়ার সময় এই সমস্ত উত্স ব্যবহার করতে পারে। অথবা আমাদের নিজস্ব পণ্যে AI একীভূত করার সময় (উদাহরণস্বরূপ Notion AI এর সাথে ) , আমরা চাই আমাদের অ্যাপের AI মডেলটি ব্যবহারকারীদের সাহায্য করার সময় তাদের সম্পর্কে আমাদের কাছে থাকা সমস্ত তথ্য জানুক।


ডাটা মুভমেন্ট সে সবের পূর্বশর্ত।


আপনি একটি মডেলকে ফাইন-টিউনিং করুন বা Retrieval-Augmented Generation (RAG) ব্যবহার করুন না কেন, আপনাকে এটি যেখানেই থাকে সেখান থেকে ডেটা বের করতে হবে, এটিকে আপনার মডেল দ্বারা হজমযোগ্য একটি বিন্যাসে রূপান্তর করতে হবে, তারপর আপনার AI অ্যাপ অ্যাক্সেস করতে পারে এমন ডেটাস্টোরে এটি লোড করতে হবে। আপনার ব্যবহারের ক্ষেত্রে পরিবেশন করতে।


উপরের চিত্রটি ব্যাখ্যা করে যে RAG ব্যবহার করার সময় এটি কেমন দেখায়, কিন্তু আপনি কল্পনা করতে পারেন যে আপনি RAG ব্যবহার না করলেও, মৌলিক পদক্ষেপগুলি পরিবর্তন হওয়ার সম্ভাবনা নেই: আপনাকে ডেটা এক্সট্র্যাক্ট, ট্রান্সফর্ম এবং লোড করতে হবে ওরফে ETL AI মডেলগুলি তৈরি করুন যা আপনার এবং আপনার ব্যবহারের ক্ষেত্রে নির্দিষ্ট অ-পাবলিক তথ্য জানে।

কেন তথ্য আন্দোলন কঠিন?

একটি API বা ডাটাবেস থেকে ডেটা নিষ্কাশনের জন্য একটি মৌলিক কার্যকরী MVP তৈরি করা সাধারণত - যদিও সবসময় নয় - দ্রুত (<1 সপ্তাহ) নোটিশে সম্ভব। সত্যিই কঠিন অংশ এটি উত্পাদন-প্রস্তুত করা এবং এই ভাবে রাখা. নিষ্কাশন পাইপলাইন তৈরি করার সময় মনে আসা কিছু মানক চ্যালেঞ্জের দিকে নজর দেওয়া যাক।

বর্ধিত নির্যাস এবং রাষ্ট্র ব্যবস্থাপনা

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

ক্ষণস্থায়ী ত্রুটি পরিচালনা, ব্যাকঅফ, পুনরায় শুরু-অন-ব্যর্থতা(গুলি), এয়ার গ্যাপিং

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

কনফিগারেশন ত্রুটি সনাক্তকরণ এবং সক্রিয়ভাবে ঠিক করা

আপনি যদি আপনার গ্রাহকদের ডেটা বের করার জন্য ডেটা এক্সট্র্যাকশন পাইপলাইন তৈরি করে থাকেন, তাহলে আপনাকে কিছু প্রতিরক্ষামূলক চেক প্রয়োগ করতে হবে যাতে আপনার গ্রাহকরা তাদের পক্ষ থেকে ডেটা বের করার জন্য আপনাকে যে সমস্ত কনফিগারেশন দিয়েছেন তা সঠিক এবং যদি না হয়, তাহলে দ্রুত তাদের কর্মযোগ্য ত্রুটি বার্তা দিন। বেশীরভাগ API গুলি এটিকে সহজ করে না কারণ তারা ব্যাপক ত্রুটি সারণী প্রকাশ করে না এবং এমনকি যখন তারা করে, তারা খুব কমই আপনাকে শেষ পয়েন্ট দেয় যা আপনি যেমন API টোকেনগুলিতে নির্ধারিত অনুমতিগুলি পরীক্ষা করতে ব্যবহার করতে পারেন, তাই আপনাকে ব্যাপক ভারসাম্য বজায় রাখার উপায় খুঁজে বের করতে হবে ব্যবহারকারীর জন্য দ্রুত প্রতিক্রিয়া সঙ্গে চেক.

প্রমাণীকরণ এবং গোপন ব্যবস্থাপনা

এপিআইগুলি সরলতার মধ্যে সরল ধারক টোকেন প্রমাণীকরণ থেকে, আহ, সেশন টোকেন বা একক-ব্যবহার-টোকেন OAuth-এর "সৃজনশীল" বাস্তবায়ন পর্যন্ত। প্রমাণীকরণ সম্পাদন করার জন্য আপনাকে যুক্তি প্রয়োগ করতে হবে এবং সেইসাথে গোপনীয়তাগুলি পরিচালনা করতে হবে যা ঘন্টায় একবার রিফ্রেশ হতে পারে, সম্ভাব্য একাধিক সমসাময়িক কর্মীদের মধ্যে গোপন রিফ্রেশগুলি সমন্বয় করে।

অপ্টিমাইজ করা নির্যাস এবং লোড গতি, একযোগে, এবং হার সীমা

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

আপস্ট্রিম API পরিবর্তনের সাথে মানিয়ে নেওয়া

এপিআই সব সময় পরিবর্তন করে এবং নতুন অনথিভুক্ত আচরণ বা কুয়াশা গ্রহণ করে। অনেক বিক্রেতা ত্রৈমাসিক নতুন API সংস্করণ প্রকাশ করে। এই সমস্ত আপডেটগুলি কীভাবে আপনার কাজকে প্রভাবিত করতে পারে সেদিকে আপনাকে নজর রাখতে হবে এবং এটিকে আপ টু ডেট রাখতে ইঞ্জিনিয়ারিং সময় ব্যয় করতে হবে। নতুন শেষ পয়েন্ট সব সময় আসে, এবং কিছু তাদের আচরণ পরিবর্তন করে (এবং আপনি সবসময় একটি মাথা আপ পেতে না)।

সময়সূচী, পর্যবেক্ষণ, লগিং, এবং পর্যবেক্ষণযোগ্যতা

নির্দিষ্ট API গুলি থেকে ডেটা বের করে এমন কোডের বাইরে, আপনাকে সম্ভবত আপনার সমস্ত ডেটা এক্সট্র্যাক্টর দ্বারা লিভারেজ করা কিছু অনুভূমিক ক্ষমতা তৈরি করতে হবে। আপনি কিছু সময়সূচির পাশাপাশি লগিং এবং পর্যবেক্ষণ করতে চাইবেন যখন সময়সূচী কাজ করে না, বা যখন অন্যান্য জিনিসগুলি ভুল হয়ে যায় এবং আপনাকে তদন্ত করতে হবে। আপনি সম্ভবত কিছু পর্যবেক্ষণযোগ্যতাও চান যেমন গতকাল, আজ, গত সপ্তাহে কতগুলি রেকর্ড বের করা হয়েছে, ইত্যাদি... এবং কোন এপিআই এন্ডপয়েন্ট বা ডাটাবেস টেবিল থেকে এসেছে।

ডেটা ব্লকিং বা হ্যাশিং

আপনি যেখান থেকে ডেটা টেনে আনছেন তার উপর নির্ভর করে, ডাউনস্ট্রিমে পাঠানোর আগে কলামগুলিকে ব্লক করা বা হ্যাশ করার জন্য আপনার কিছু গোপনীয়তা বৈশিষ্ট্যের প্রয়োজন হতে পারে।


পরিষ্কার করার জন্য, উপরেরটি প্রযোজ্য হবে না যদি আপনি শুধুমাত্র একবারের জিনিস হিসাবে কয়েকটি ফাইল সরাতে চান।


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


এবং ডেটা নিষ্কাশন এবং পাইপলাইনগুলি বজায় রাখার ক্ষেত্রে এটিই ঠিক অসুবিধা: এর বেশিরভাগ ব্যয় আসে সেই পাইপলাইনগুলিকে কার্যকরী এবং শক্তিশালী রাখার জন্য ক্রমাগত ক্রমবর্ধমান বিনিয়োগ থেকে। বেশিরভাগ AI ইঞ্জিনিয়ারদের জন্য, এটি এমন কাজ নয় যা তাদের ব্যবহারকারীদের জন্য সবচেয়ে বেশি মূল্য যোগ করে। তাদের সময় অন্যত্র কাটানো ভালো।

তাহলে একজন এআই ইঞ্জিনিয়ারকে এখানে কিছু ডেটা সরানোর জন্য কী করতে হবে?

আপনি যদি কখনও নিজেকে ডেটা নিষ্কাশন এবং পাইপলাইন লোড করার প্রয়োজন দেখেন, তাহলে স্বয়ংক্রিয়ভাবে নিজের তৈরি করার পরিবর্তে ইতিমধ্যে উপলব্ধ সমাধানগুলি চেষ্টা করুন৷ আপনার সমস্ত উদ্বেগ না থাকলে তারা অনেক কিছু সমাধান করতে পারে। যদি না হয়, শেষ অবলম্বন হিসাবে আপনার নিজের তৈরি করুন.


এবং এমনকি বিদ্যমান প্ল্যাটফর্মগুলি আপনার প্রয়োজনীয় সমস্ত কিছুকে সমর্থন না করলেও, আপনি এখনও একটি পোর্টেবল এবং এক্সটেনসিবল ফ্রেমওয়ার্কের সাথে বেশিরভাগ পথ পেতে সক্ষম হবেন। এইভাবে, স্ক্র্যাচ থেকে সবকিছু তৈরি করার পরিবর্তে, আপনি প্ল্যাটফর্মে অফ-দ্য-শেল্ফ বৈশিষ্ট্য সহ সেখানে 90% পথ পেতে পারেন এবং শুধুমাত্র শেষ 10% তৈরি এবং বজায় রাখতে পারেন। সবচেয়ে সাধারণ উদাহরণ হল লং-টেইল ইন্টিগ্রেশন: যদি প্ল্যাটফর্মটি আপনার প্রয়োজনীয় API-এ ইন্টিগ্রেশনের সাথে শিপিং না করে, তাহলে একটি ভাল প্ল্যাটফর্ম কিছু কোড লেখা সহজ করে দেবে বা সেই ইন্টিগ্রেশন তৈরি করার জন্য একটি নো-কোড সমাধানও তৈরি করবে। এখনও প্ল্যাটফর্ম দ্বারা দেওয়া সমস্ত দরকারী বৈশিষ্ট্য পান। এমনকি যদি আপনি একটি পাইথন প্যাকেজ হিসাবে একটি সংযোগকারী আমদানি করার নমনীয়তা চান এবং আপনার কোড থেকে আপনার পছন্দ অনুযায়ী এটি ট্রিগার করার নমনীয়তা চান, আপনি Airbyte বা Singer সংযোগকারীর মতো অনেকগুলি ওপেন-সোর্স EL টুলগুলির মধ্যে একটি ব্যবহার করতে পারেন৷


পরিষ্কার হতে, তথ্য আন্দোলন সম্পূর্ণরূপে সমাধান করা হয় না. এমন পরিস্থিতি রয়েছে যেখানে বিদ্যমান সমাধানগুলি সত্যিকার অর্থে ছোট হয়ে যায় এবং আপনাকে অভিনব সমাধানগুলি তৈরি করতে হবে। কিন্তু এটি এআই ইঞ্জিনিয়ারিং জনসংখ্যার সংখ্যাগরিষ্ঠ নয়। জিরা, কনফ্লুয়েন্স, স্ল্যাক, নশন, জিমেইল, সেলসফোর্স, ইত্যাদির সাথে বেশির ভাগ লোকেরই একই ইন্টিগ্রেশন পুনর্নির্মাণের প্রয়োজন নেই। আসুন শুধু সেই সমাধানগুলি ব্যবহার করি যেগুলি ইতিমধ্যেই যুদ্ধ-পরীক্ষিত হয়েছে এবং যে কারও জন্য ব্যবহার করার জন্য উন্মুক্ত করা হয়েছে যাতে আমরা আমাদের ব্যবহারকারীদের প্রকৃতপক্ষে যে মূল্যের প্রতি যত্নশীল তা যোগ করতে পারি।


এছাড়াও এখানে উপস্থিত হয়.