প্রযুক্তিগত গাইড

পেজড অ্যাটেনশন এবং ভিএলএলএম

PagedAttention হল একটি মেমরি-ম্যানেজমেন্ট কৌশল যা একটি বড় সংলগ্ন অংশের পরিবর্তে ছোট পুনঃব্যবহারযোগ্য ব্লকগুলিতে একটি ভাষা মডেলের মনোযোগ ক্যাশে সংরক্ষণ করে।

ওভারভিউ

PagedAttention হল একটি মেমরি-ম্যানেজমেন্ট কৌশল যা একটি বড় সংলগ্ন অংশের পরিবর্তে ছোট পুনঃব্যবহারযোগ্য ব্লকগুলিতে একটি ভাষা মডেলের মনোযোগ ক্যাশে সংরক্ষণ করে। এটি ভিএলএলএমকে শক্তি দেয়, একটি ওপেন-সোর্স পরিবেশনকারী ইঞ্জিন যা নাটকীয়ভাবে একটি একক GPU কতগুলি অনুরোধ পরিচালনা করতে পারে তা বাড়িয়ে তোলে৷

PagedAttention এবং vLLM হল একটি প্রযুক্তিগত বিল্ডিং ব্লক যা মডেলের গুণমান, পরিকাঠামোর খরচ, লেটেন্সি এবং স্কেলে নির্ভরযোগ্যতাকে প্রভাবিত করে।

গভীর ডুব

যখন একটি ভাষা মডেল পাঠ্য তৈরি করে, তখন এটি দেখা প্রতিটি টোকেনের জন্য একটি 'কেভি ক্যাশে' (কী এবং মান ভেক্টর) রাখে যাতে পরবর্তী টোকেনটি সম্পূর্ণ প্রসঙ্গে উপস্থিত হতে পারে। প্রথাগতভাবে প্রতিটি অনুরোধ তার সর্বোচ্চ সম্ভাব্য দৈর্ঘ্যের জন্য GPU মেমরির আকারের একটি বড় সংলগ্ন স্ল্যাব সংরক্ষিত করে, যখন ক্রমগুলি ছোট বা দৈর্ঘ্যে বৈচিত্র্যময় ছিল তখন বিপুল পরিমাণ অপচয় হয়। PagedAttention, UC Berkeley থেকে 2023 vLLM কাগজে প্রবর্তিত, অপারেটিং সিস্টেমগুলি থেকে ভার্চুয়াল মেমরি পেজিংয়ের ধারণাটি ধার করে: এটি KV ক্যাশেকে নির্দিষ্ট-আকারের ব্লকগুলিতে বিভক্ত করে যা মেমরিতে যে কোনও জায়গায় থাকতে পারে এবং চাহিদা অনুযায়ী বরাদ্দ করা যেতে পারে। একটি লুকআপ টেবিল লজিক্যাল টোকেন পজিশন ফিজিক্যাল ব্লকে ম্যাপ করে। এটি প্রায় মেমরি ফ্র্যাগমেন্টেশন দূর করে এবং ব্লকগুলিকে ভাগ করতে দেয়, উদাহরণস্বরূপ একই প্রম্পট থেকে একাধিক আউটপুট জুড়ে।

প্রযুক্তিগত অন্তর্দৃষ্টি

কেভি ক্যাশে নির্দিষ্ট-আকারের পৃষ্ঠাগুলিতে বিভক্ত করা হয়েছে, প্রতিটিতে নির্দিষ্ট সংখ্যক টোকেনের জন্য কী এবং মান রয়েছে। একটি প্রতি-ক্রম ব্লক টেবিল বাস্তব পৃষ্ঠার অবস্থানে যৌক্তিক অবস্থান ম্যাপ করে, তাই একটি সিকোয়েন্সের ক্যাশে সংলগ্ন হতে হবে না। যেহেতু অভিন্ন উপসর্গগুলি (একটি ভাগ করা সিস্টেম প্রম্পট, বা বীম-সার্চ শাখাগুলি) অনুলিপি-অন-রাইটের মাধ্যমে একই ভৌত পৃষ্ঠাগুলিকে নির্দেশ করতে পারে, মেমরি সদৃশের পরিবর্তে পুনরায় ব্যবহার করা হয়, 60% থেকে কয়েক শতাংশ পর্যন্ত বর্জ্য হ্রাস করে।

পেজড অ্যাটেনশন এবং ভিএলএলএম মাস্টারিং

PagedAttention হল একটি মেমরি-ম্যানেজমেন্ট কৌশল যা একটি বড় সংলগ্ন অংশের পরিবর্তে ছোট পুনঃব্যবহারযোগ্য ব্লকগুলিতে একটি ভাষা মডেলের মনোযোগ ক্যাশে সংরক্ষণ করে। এটি ভিএলএলএমকে শক্তি দেয়, একটি ওপেন-সোর্স পরিবেশনকারী ইঞ্জিন যা নাটকীয়ভাবে একটি একক GPU কতগুলি অনুরোধ পরিচালনা করতে পারে তা বাড়িয়ে তোলে৷ PagedAttention এবং vLLM হল একটি প্রযুক্তিগত বিল্ডিং ব্লক যা মডেলের গুণমান, পরিকাঠামোর খরচ, লেটেন্সি এবং স্কেলে নির্ভরযোগ্যতাকে প্রভাবিত করে। গভীর বোঝাপড়া তৈরি করতে, PagedAttention এবং vLLM-কে একটি অপারেটিং মডেল হিসাবে বিবেচনা করুন, একটি একক বৈশিষ্ট্য নয়: পছন্দসই ফলাফলগুলি সংজ্ঞায়িত করুন, অনুমানগুলি স্পষ্ট করুন এবং সিস্টেমটি নির্ভরযোগ্যভাবে কী করতে পারে তা এখনও বিশেষজ্ঞের বিচারের প্রয়োজন থেকে আলাদা করুন৷

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

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

কৌশলগত প্রভাব

আর্কিটেকচারের সিদ্ধান্তগুলি বছরের পর বছর ধরে কর্মক্ষমতা এবং অপারেটিং খরচ চালায়।

আর্কিটেকচারের সিদ্ধান্তগুলি বছরের পর বছর ধরে কর্মক্ষমতা এবং অপারেটিং খরচ চালায়। উচ্চ-মানের স্থাপনায়, এটি পরিমাপযোগ্য অপারেটিং নিয়ম, মালিকানার সীমানা এবং পুনরাবৃত্ত পর্যালোচনার আচার-অনুষ্ঠানে অনুবাদ করা হয় যাতে দলগুলি অস্পষ্টতার পরিবর্তে আত্মবিশ্বাস বাড়াতে পারে।

কারিগরি শিক্ষা দলগুলোকে সঠিক স্ট্যাক বেছে নিতে সাহায্য করে, শুধু নতুনটি নয়।

কারিগরি শিক্ষা দলগুলোকে সঠিক স্ট্যাক বেছে নিতে সাহায্য করে, শুধু নতুনটি নয়। উচ্চ-মানের স্থাপনায়, এটি পরিমাপযোগ্য অপারেটিং নিয়ম, মালিকানার সীমানা এবং পুনরাবৃত্ত পর্যালোচনার আচার-অনুষ্ঠানে অনুবাদ করা হয় যাতে দলগুলি অস্পষ্টতার পরিবর্তে আত্মবিশ্বাস বাড়াতে পারে।

ভালো ইঞ্জিনিয়ারিং পছন্দ উৎপাদনে নির্ভরযোগ্যতার ঘটনা কমিয়ে দেয়।

ভালো ইঞ্জিনিয়ারিং পছন্দ উৎপাদনে নির্ভরযোগ্যতার ঘটনা কমিয়ে দেয়। উচ্চ-মানের স্থাপনায়, এটি পরিমাপযোগ্য অপারেটিং নিয়ম, মালিকানার সীমানা এবং পুনরাবৃত্ত পর্যালোচনার আচার-অনুষ্ঠানে অনুবাদ করা হয় যাতে দলগুলি অস্পষ্টতার পরিবর্তে আত্মবিশ্বাস বাড়াতে পারে।

PagedAttention এবং vLLM এর ভবিষ্যত

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

বাস্তব-বিশ্ব বাস্তবায়ন

একটি ওপেন-সোর্স LLM API হোস্ট করা যেখানে vLLM উচ্চ থ্রুপুটে একটি GPU থেকে অনেক সমসাময়িক চ্যাট ব্যবহারকারীদের পরিবেশন করে

প্রিফিক্স ক্যাশিংয়ের মাধ্যমে হাজার হাজার অনুরোধ জুড়ে একটি দীর্ঘ সিস্টেম প্রম্পট শেয়ার করা যাতে এটি একবার প্রক্রিয়া করা হয়, বারবার নয়

চলমান বিম অনুসন্ধান বা একাধিক নমুনা সম্পন্ন সমাপ্তি যা কপি-অন-রাইটের মাধ্যমে সাধারণ প্রম্পটের জন্য কেভি ব্লকগুলি ভাগ করে

ফ্র্যাগমেন্টেশন থেকে GPU মেমরি বর্জ্য কাটা যাতে একজন প্রদানকারী একই হার্ডওয়্যারে আরও একযোগে সেশন প্যাক করতে পারে

বাস্তবায়ন নিদর্শন

অনুশীলনে PagedAttention এবং vLLM

একটি ওপেন-সোর্স LLM API হোস্ট করা যেখানে vLLM উচ্চ থ্রুপুটে একটি GPU থেকে অনেক সমসাময়িক চ্যাট ব্যবহারকারীদের পরিবেশন করে।

একটি ওপেন-সোর্স LLM API হোস্ট করা যেখানে vLLM উচ্চ থ্রুপুটে একটি GPU থেকে অনেক সমসাময়িক চ্যাট ব্যবহারকারীদের পরিবেশন করে দলগুলি সাধারণত ভাল ফলাফল পায় যখন তারা সামনের মানের থ্রেশহোল্ডগুলিকে সংজ্ঞায়িত করে, প্রান্তের ক্ষেত্রে একটি মানবিক বৃদ্ধির পথ রাখে এবং সময়ের সাথে সাথে উত্পাদনশীলতা লাভ এবং ত্রুটির খরচ উভয়ই ট্র্যাক করে৷

অনুশীলনে PagedAttention এবং vLLM

প্রিফিক্স ক্যাশিংয়ের মাধ্যমে হাজার হাজার অনুরোধ জুড়ে একটি দীর্ঘ সিস্টেম প্রম্পট ভাগ করে নেওয়া যাতে এটি একবার প্রক্রিয়া করা হয়, বারবার নয়।

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

অনুশীলনে PagedAttention এবং vLLM

চলমান মরীচি অনুসন্ধান বা একাধিক নমুনা সম্পন্ন সমাপ্তি যা কপি-অন-রাইটের মাধ্যমে সাধারণ প্রম্পটের জন্য কেভি ব্লকগুলি ভাগ করে।

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

অনুশীলনে PagedAttention এবং vLLM

ফ্র্যাগমেন্টেশন থেকে GPU মেমরি বর্জ্য কাটা যাতে একজন প্রদানকারী একই হার্ডওয়্যারে আরও একযোগে সেশন প্যাক করতে পারে।

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

ঝুঁকি এবং প্রহরী

!

একটি বেঞ্চমার্ক অপ্টিমাইজ করা বৃহত্তর সিস্টেম দুর্বলতা আড়াল করতে পারে।

!

অবকাঠামো এবং রক্ষণাবেক্ষণের খরচ প্রায়ই অবমূল্যায়ন করা হয়।

!

সিস্টেমগুলি আরও জটিল হওয়ার সাথে সাথে সুরক্ষা এবং পর্যবেক্ষণযোগ্যতার ফাঁক বাড়তে পারে।

বাস্তবায়ন রোডম্যাপ

1

বাস্তবায়নের আগে বিলম্ব, গুণমান এবং খরচের লক্ষ্য নির্ধারণ করুন।

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

2

বাস্তবসম্মত লোড এবং ডেটা অবস্থার অধীনে বেঞ্চমার্ক।

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

3

ত্রুটি, প্রবাহ, এবং ব্যবহারকারীর প্রভাবের জন্য যন্ত্র পর্যবেক্ষণ।

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

4

স্কেল করার আগে রোলব্যাক এবং ঘটনার প্রতিক্রিয়া পাথ প্রস্তুত করুন।

স্কেল করার আগে রোলব্যাক এবং ঘটনার প্রতিক্রিয়া পাথ প্রস্তুত করুন। প্রতিটি পদক্ষেপকে একটি প্রমাণ গেট হিসাবে বিবেচনা করুন: যদি মানদণ্ড পূরণ না হয়, রোলআউট থামান, ব্যবধান বন্ধ করুন এবং শুধুমাত্র তারপর ব্যবহার প্রসারিত করুন।

অন্বেষণ চালিয়ে যান