Flash Inference: Near Linear Time Inference for Long Convolution Sequence Models and Beyond
Oncescu, Purandare, Idreos et al.
While transformers have been at the core of most recent advancements in sequence generative models, their computational cost remains quadratic in sequence length. Several subquadratic architectures have been proposed to address this computational issue. Some of them, including long convolution sequence models (LCSMs), such as Hyena, address this issue at training time but remain quadratic during inference. We propose a method for speeding up LCSMs' exact inference to quasilinear $O(L\log^2L)$ time, identify the key properties that make this possible, and propose a general framework that exploits these. Our approach, inspired by previous work on relaxed polynomial interpolation, is based on a tiling which helps decrease memory movement and share computation. It has the added benefit of allowing for almost complete parallelization across layers of the position-mixing part of the architecture. Empirically, we provide a proof of concept implementation for Hyena, which gets up to $7.8\times$ end-to-end improvement over standard inference by improving $110\times$ within the position-mixing part.
academic
ফ্ল্যাশ ইনফারেন্স: দীর্ঘ কনভোলিউশন সিকোয়েন্স মডেলের জন্য নিকট-রৈখিক সময় অনুমান এবং তার বাইরে
এই পেপারটি দীর্ঘ কনভোলিউশন সিকোয়েন্স মডেল (LCSMs) এর অনুমান পর্যায়ে দ্বিঘাত সময় জটিলতার সমস্যার সমাধানের জন্য ফ্ল্যাশ ইনফারেন্স ফ্রেমওয়ার্ক প্রস্তাব করে, যা নির্ভুল অনুমানের সময় জটিলতা O(Llog2L) এ হ্রাস করে। এই পদ্ধতিটি শিথিল বহুপদী ইন্টারপোলেশন (relaxed polynomial interpolation) দ্বারা অনুপ্রাণিত, যা টাইলিং কৌশলের উপর ভিত্তি করে মেমরি আন্দোলন হ্রাস করে এবং গণনা ভাগ করে। হায়েনা আর্কিটেকচারে পরীক্ষা-নিরীক্ষা দেখায় যে শেষ থেকে শেষ অনুমান ৭.৮ গুণ ত্বরান্বিত হয়েছে, এবং অবস্থান মিশ্রণ অংশ ১১০ গুণ ত্বরান্বিত হয়েছে।
যদিও ট্রান্সফর্মার সিকোয়েন্স জেনারেশন মডেলে বিশাল সাফল্য অর্জন করেছে, তবে এর গণনামূলক খরচ সিকোয়েন্স দৈর্ঘ্যে দ্বিঘাতভাবে বৃদ্ধি পায় (O(L2)), যা প্রশিক্ষণ এবং অনুমান উভয় পর্যায়ে বাধা সৃষ্টি করে। এই সমস্যা সমাধানের জন্য, গবেষকরা অনেক সাব-কোয়াড্রেটিক আর্কিটেকচার প্রস্তাব করেছেন, যার মধ্যে রয়েছে স্টেট স্পেস মডেল (SSMs) এবং দীর্ঘ কনভোলিউশন সিকোয়েন্স মডেল (LCSMs, যেমন হায়েনা)।
প্রশিক্ষণ দক্ষতা সমাধান হয়েছে: LCSMs FFT এর মাধ্যমে প্রশিক্ষণ সময়ে O(LlogL) জটিলতা অর্জন করতে পারে
অনুমান দক্ষতা সমাধান হয়নি: স্বয়ংক্রিয় অনুমানে, ইনপুট সিকোয়েন্স ধাপে ধাপে তৈরি হওয়ায়, FFT সরাসরি ব্যবহার করা যায় না, যার ফলে জটিলতা O(L2) এ হ্রাস পায়
দীর্ঘ প্রসঙ্গ চাহিদা: বড় ভাষা মডেলগুলি ক্রমবর্ধমান দীর্ঘ প্রসঙ্গ প্রক্রিয়া করার সাথে সাথে, অনুমান দক্ষতা সমস্যা আরও বেশি বিশিষ্ট হয়ে ওঠে
আনুমানিক পদ্ধতি (Massaroli et al. 2024): কনভোলিউশন ফিল্টারকে নিম্ন-মাত্রিক LTI SSM এ প্রজেক্ট করে, কিন্তু এটি শুধুমাত্র একটি আনুমানিক, এবং ব্যয়বহুল ডিস্টিলেশন প্রি-কম্পিউটেশন প্রয়োজন, ডেটা-নির্ভর ফিল্টার সমর্থন করে না
পুনরাবৃত্তিমূলক দৃষ্টিভঙ্গি: নিম্ন-মাত্রিক SSM এর জন্য দক্ষ হতে পারে, কিন্তু উচ্চ-মাত্রিক SSM (মাত্রা সিকোয়েন্স দৈর্ঘ্যের কাছাকাছি) এর জন্য এখনও অদক্ষ
কাঠামো ব্যবহার পদ্ধতি: ফিল্টারকে নির্দিষ্ট কাঠামো থাকতে হবে (যেমন নিম্ন-র্যাঙ্ক LTI SSM), যা মডেল প্রকাশক্ষমতা সীমিত করে
এই পেপারটির লক্ষ্য একটি নির্ভুল এবং সর্বজনীন অনুমান ত্বরণ ফ্রেমওয়ার্ক প্রদান করা, যা ফিল্টারের নির্দিষ্ট কাঠামোর উপর নির্ভর করে না, একই সাথে ডেটা-নির্ভর ফিল্টার সমর্থন করে।
১. প্রথম প্রায়-রৈখিক নির্ভুল অনুমান অ্যালগরিদম: LCSMs এর জন্য O(Llog2L) সময় জটিলতার নির্ভুল অনুমান অ্যালগরিদম প্রস্তাব করে, যা আগের আনুমানিক পদ্ধতির তুলনায় নির্ভুল সিমুলেশন অর্জন করে
२. সর্বজনীন ফ্রেমওয়ার্ক সনাক্তকরণ: দ্রুত অনুমান সম্ভব করার মূল আর্কিটেকচার বৈশিষ্ট্য (অবদান ভিত্তি, প্রশ্ন-স্বাধীন) সনাক্ত করে, বিস্তৃত আর্কিটেকচার শ্রেণীর জন্য প্রযোজ্য ফ্ল্যাশ ইনফারেন্স ফ্রেমওয়ার্ক প্রস্তাব করে
३. ক্রস-লেয়ার সমান্তরালকরণ: টাইলিং কৌশল ব্যবহার করে অবস্থান মিশ্রণ অংশের প্রায় সম্পূর্ণ ক্রস-লেয়ার সমান্তরাল গণনা অর্জন করে
४. মেমরি অপ্টিমাইজেশন: টাইলিং পদ্ধতির মাধ্যমে ডেটা আন্দোলন উল্লেখযোগ্যভাবে হ্রাস করে, Ω(L2) থেকে O(LlogL) এ, ডেটা-স্বাধীন ফিল্টারের জন্য ২ গুণ সক্রিয়করণ সঞ্চয় সাশ্রয় করে
५. অভিজ্ঞতামূলক যাচাইকরণ: হায়েনা আর্কিটেকচারে শেষ থেকে শেষ ৭.৮ গুণ ত্বরণ, কনভোলিউশন অংশ ১১০ গুণ ত্বরণ অর্জন করে
স্বয়ংক্রিয় সিকোয়েন্স জেনারেশন: প্রম্পট সিকোয়েন্স x1,…,xp দেওয়া, মডেলকে পরবর্তী টোকেন ধাপে ধাপে তৈরি করতে হবে। প্রতিটি অবস্থান i এ, মডেল সমস্ত স্তরের মাধ্যমে সক্রিয়করণ ai[1,M] গণনা করে, অবশেষে aiM থেকে xi+1 নমুনা করে।
মূল গণনা বাধা: প্রতিটি স্তর ℓ এবং প্রতিটি মাত্রার জন্য, গণনা করতে হবে:
zt=∑i=1tyi⋅ρt−i
যেখানে y ইনপুট সিকোয়েন্স, ρ দৈর্ঘ্য L এর কনভোলিউশন ফিল্টার। নিষ্পাপ বাস্তবায়ন Ω(L2) সময় প্রয়োজন।
for i = 1 to L-1:
U ← সর্ববৃহৎ ২ এর শক্তি যা i কে বিভক্ত করে
z_i += y_i * ρ_0 # লাল ঘর: সরাসরি নির্ভরতা
z[i+1:i+U] += τ(y, [i-U+1, i], ρ, [i+1, i+U]) # ধূসর ব্লক: আগ্রহী গণনা
return z_i
unlock y_{i+1}
মূল বৈশিষ্ট্য:
i তম পুনরাবৃত্তিতে, প্রান্ত দৈর্ঘ্য U এর ধূসর ব্লক গণনা করে (U হল i কে বিভক্ত করার সর্ববৃহৎ ২ এর শক্তি)
লাল ঘর বর্তমান অবস্থানের সরাসরি নির্ভরতা পরিচালনা করে
ধূসর ব্লক আগাম অংশ ভবিষ্যত অবদান গণনা করে
জটিলতা বিশ্লেষণ (Proposition 1):
দৈর্ঘ্য 2q এর ব্লকের জন্য, 2P−1−q বার আহ্বান (L=2P)
অ্যালগরিদম १ কে বহু-স্তর বহু-মাত্রায় প্রসারিত করুন:
for i = 1 to L-1:
U ← সর্ববৃহৎ २ এর শক্তি যা i কে বিভক্ত করে
for ℓ = 1 to M: # স্তর জুড়ে
b^ℓ_i += a^{ℓ-1}_i ⊙ ρ^ℓ_0 # লাল ঘর
a^ℓ_i = block^ℓ(b^ℓ_i)
b^ℓ[i+1:i+U] += τ(a^{ℓ-1}, [i-U+1, i], ρ^ℓ, [i+1, i+U]) # ধূসর ব্লক
a^0_{i+1} = sampler(a^M_i)
Baseline:
१. Lazy: নিষ্পাপ অবস্থান-দ্বারা-অবস্থান গণনা
२. Eager: সমস্ত ভবিষ্যত অবদান আগাম গণনা করুন
३. Lazy NP / Eager NP: অ-সমান্তরাল সংস্করণ (ক্রস-লেয়ার সমান্তরালকরণ ব্যবহার করে না)
এই পেপারের τ বাস্তবায়ন (७ প্রকার, ४ প্রকার Pareto সামনে):
१. Conv१D: PyTorch ডিফল্ট १D কনভোলিউশন কার্নেল (স্পষ্ট প্যাডিং প্রয়োজন)
२. Flash Conv१D: FlashFFTConv এর ফিউজড কার্নেল
३. FFT: PyTorch নেটিভ FFT কনভোলিউশন (DFT→উপাদান-বুদ্ধিমান গুণ→IDFT)
४. FlashFFT: FlashFFTConv এর ফিউজড FFT কার্নেল
५. Hybrid: ব্লক আকারের উপর ভিত্তি করে গতিশীলভাবে সর্বোত্তম বাস্তবায়ন নির্বাচন করুন
প্রকৌশল অপ্টিমাইজেশন:
१. CUDA Graphs: একক টোকেন প্রজন্মের সমস্ত কার্নেল সময়সূচী গ্রাফ হিসাবে রেকর্ড করুন, পরবর্তী পুনরুৎপাদন CPU ওভারহেড হ্রাস করতে (१०-२०% উন্নতি)
२. FFT প্রি-কম্পিউটেশন: log2(L)−१ ব্লক আকারের জন্য কনভোলিউশন কার্নেলের DFT প্রি-কম্পিউট করুন
३. FlashFFT প্রি-কনফিগারেশন: বিভিন্ন ব্লক আকারের জন্য প্রি-ইনিশিয়ালাইজ কনফিগারেশন হার্ডওয়্যার কর্মক্ষমতা সর্বাধিক করতে
४. ডান প্যাডিং: বাম প্যাডিং এর পরিবর্তে ডান প্যাডিং ব্যবহার করুন, অর্ধেক গণনা সময় হ্রাস করুন
५. সার্কুলার কনভোলিউশন: সার্কুলার কনভোলিউশন সম্পত্তি ব্যবহার করে FFT দৈর্ঘ্য অর্ধেক করুন
१. তত্ত্ব এবং অনুশীলন সামঞ্জস্যপূর্ণ: O(Llog2L) জটিলতা পরীক্ষায় উল্লেখযোগ্য ত্বরণ হিসাবে প্রতিফলিত হয়
२. মেমরি ব্যান্ডউইথ গুরুত্ব: Flash Conv१D যদিও দ্বিঘাত জটিলতা, তবুও মেমরি অ্যাক্সেস অপ্টিমাইজেশনের মাধ্যমে ५ গুণ ত্বরণ অর্জন করে
३. গতিশীল নির্বাচন প্রয়োজনীয়: কোন একক τ বাস্তবায়ন সমস্ত ব্লক আকারে সর্বোত্তম নয়, Hybrid কৌশল গুরুত্বপূর্ণ
४. CPU ওভারহেড উল্লেখযোগ্য: CUDA Graphs শেষ থেকে শেষ ত্বরণ १.६× থেকে ८× এ উন্নীত করে
५. সমান্তরালকরণ সুবিধা: ছোট ব্লক প্রভাবশালী (८७.५%), ক্রস-লেয়ার সমান্তরালকরণ প্রভাব উল্লেখযোগ্য
१. তাত্ত্বিক অবদান: LCSMs এর জন্য প্রথম O(Llog2L) নির্ভুল অনুমান অ্যালগরিদম
२. সর্বজনীন ফ্রেমওয়ার্ক: মূল বৈশিষ্ট্য (অবদান-ভিত্তিক, প্রশ্ন-স্বাধীন) সনাক্ত করে, বিস্তৃত আর্কিটেকচারে প্রযোজ্য
३. অভিজ্ঞতামূলক যাচাইকরণ: হায়েনায় শেষ থেকে শেষ ७.८× ত্বরণ, mixer অংশ ११०× ত্বরণ
४. সিস্টেম অপ্টিমাইজেশন: ক্রস-লেয়ার সমান্তরালকরণ, মেমরি অপ্টিমাইজেশন, গতিশীল বাস্তবায়ন নির্বাচন ইত্যাদি প্রকৌশল অবদান
१. ডেটা-নির্ভর ফিল্টার: যদিও তাত্ত্বিকভাবে সমর্থিত, তবুও २ গুণ গণনা প্রয়োজন, পরীক্ষা সম্পূর্ণভাবে যাচাই করা হয়নি
२. মেমরি প্রয়োজন: এখনও সমস্ত সক্রিয়করণ O(MLD) সঞ্চয় প্রয়োজন (বনাম পুনরাবৃত্তিমূলক দৃষ্টিভঙ্গির O(MD′))
३. প্রযোজ্য পরিসীমা:
ট্রান্সফর্মারে প্রযোজ্য নয় (প্রশ্ন-স্বাধীন সন্তুষ্ট করে না)
অতি নিম্ন-মাত্রিক SSM (D′≪log2L) এর জন্য, পুনরাবৃত্তিমূলক দৃষ্টিভঙ্গি আরও ভাল হতে পারে
४. প্রম্পট পর্যায়: দীর্ঘ প্রম্পটে, প্রি-ফিলিং (prefill) এখনও সময় প্রভাবশালী, এই পেপারের অপ্টিমাইজেশন স্বয়ংক্রিয় প্রজন্মের আপেক্ষিক সুবিধা সীমিত
५. হার্ডওয়্যার নির্ভরতা: ত্বরণ প্রভাব GPU মেমরি ব্যান্ডউইথ বৈশিষ্ট্যের উপর নির্ভর করে
१. আর্কিটেকচার ডিজাইন: ফ্ল্যাশ ইনফারেন্স প্রয়োজনীয়তা সন্তুষ্ট করে এমন নতুন উচ্চ-মানের আর্কিটেকচার ডিজাইন করুন
२. কারণীয় ডেটা-নির্ভর ফিল্টার: কীভাবে ফিল্টার ডেটা-নির্ভর করতে পারে একই সাথে কারণীয়তা বজায় রাখে (Arora et al., Karami & Ghodsi ইতিমধ্যে সম্ভাবনা দেখিয়েছে)
३. হাইব্রিড পদ্ধতি: পুনরাবৃত্তিমূলক দৃষ্টিভঙ্গি (ছোট অবস্থা মাত্রা) এবং কনভোলিউশন দৃষ্টিভঙ্গি (বড় অবস্থা মাত্রা) একত্রিত করুন
४. আরও আর্কিটেকচার: অন্যান্য ফ্রেমওয়ার্ক বৈশিষ্ট্য সন্তুষ্ট করে এমন মডেলে প্রসারিত করুন (যেমন কিছু মনোযোগ ভেরিয়েন্ট)
५. বিতরণকৃত অনুমান: মাল্টি-GPU/মাল্টি-নোড পরিস্থিতিতে অপ্টিমাইজেশন
१. van der Hoeven, J. (१९९७). Lazy multiplication of formal power series. ISSAC. তাত্ত্বিক ভিত্তি
२. Poli, M. et al. (२०२३). Hyena hierarchy: Towards larger convolutional language models. প্রধান প্রয়োগ বস্তু
३. Massaroli, S. et al. (२०२४). Laughing hyena distillery: Extracting compact recurrences from convolutions. NeurIPS. আনুমানিক পদ্ধতি তুলনা
४. Gu, A. & Dao, T. (२०२३). Mamba: Linear-time sequence modeling with selective state spaces. SSM সম্পর্কিত কাজ
५. Fu, D. Y. et al. (२०२३). FlashFFTConv: Efficient convolutions for long sequences with tensor cores. বাস্তবায়ন ভিত্তি
६. Agarwal, N. et al. (२०२४). FutureFill: Fast generation from convolutional sequence models. সমান্তরাল কাজ
সামগ্রিক মূল্যায়ন: এটি একটি চমৎকার পেপার যেখানে তত্ত্ব এবং অনুশীলন ঘনিষ্ঠভাবে সংযুক্ত। তাত্ত্বিকভাবে, এটি LCSMs অনুমানের জন্য প্রথম প্রায়-রৈখিক নির্ভুল অ্যালগরিদম এবং সর্বজনীন ফ্রেমওয়ার্ক প্রদান করে; ব্যবহারিকভাবে, সিস্টেম-স্তরের অপ্টিমাইজেশনের মাধ্যমে উল্লেখযোগ্য ত্বরণ অর্জন করে। প্রধান সীমাবদ্ধতা হল LCSMs নিজেই বাস্তব প্রয়োগে ট্রান্সফর্মারের মতো জনপ্রিয় নয়, এবং ডেটা-নির্ভর ফিল্টারের পরীক্ষা যাচাইকরণ অপর্যাপ্ত। এই কাজ সিকোয়েন্স মডেল অনুমান অপ্টিমাইজেশনে নতুন দৃষ্টিভঙ্গি প্রদান করে, বিশেষত ভবিষ্যত আর্কিটেকচার ডিজাইনের জন্য নির্দেশনামূলক। মডেল দক্ষতা, সিকোয়েন্স মডেলিং এবং সিস্টেম অপ্টিমাইজেশনে আগ্রহী গবেষকদের জন্য সুপারিশ করা হয়।