𝗠𝗶𝘅𝘁𝘂𝗿𝗲 𝗼𝗳 𝗘𝘅𝗽𝗲𝗿𝘁𝘀 (𝗠𝗼𝗘): இது எவ்வாறு செயல்படுகிறது மற்றும் எப்போது இதைப் பயன்படுத்த வேண்டும்

நான்கு கூடுதல் GPUs-களை வாங்காமல், நீங்கள் ஒரு 7B மாடலில் இருந்து 70B மாடலுக்கு மாற்ற விரும்புகிறீர்கள்.

யாரோ ஒருவர் Mixture of Experts (MoE) முறையைப் பரிந்துரைக்கிறார்கள். வெறும் 7B compute மூலம் 70B செயல்திறனைப் பெற முடியும் என்று அவர்கள் கூறுகிறார்கள்.

இது ஒரு இலவச உணவு போலத் தோன்றலாம். ஆனால் இதில் ஒரு சிக்கல் உள்ளது.

இது எவ்வாறு செயல்படுகிறது?

Llama 3.2 போன்ற ஒரு dense transformer, ஒவ்வொரு token-க்கும் அதன் 100 சதவீத parameters-களையும் பயன்படுத்துகிறது. நீங்கள் 7B-யிலிருந்து 70B-க்கு மாறினால், memory மற்றும் compute ஆகிய இரண்டையும் 10 மடங்கு அதிகரிக்க வேண்டும்.

MoE இந்த இரண்டையும் பிரிக்கிறது. மாடல் அதிக parameters-களைச் சேமிக்கிறது (அதிக memory செலவு), ஆனால் ஒவ்வொரு token-க்கும் அவற்றில் ஒரு சிறு பகுதியை மட்டுமே பயன்படுத்துகிறது (குறைந்த compute செலவு).

சவால்கள் மற்றும் ஒப்பீடு:

• Dense 7B: 7B மொத்த params | 7B active | 7B compute | 14 GB memory • Dense 70B: 70B மொத்த params | 70B active | 70B compute | 140 GB memory • MoE 45B: 45B மொத்த params | ~13B active | ~14B compute | ~90 GB memory

சிக்கல்: நீங்கள் இன்னும் ஒரு பெரிய மாடலின் memory செலவையே செலுத்த வேண்டியிருக்கும். நீங்கள் Mixtral-ஐ ஒரு 24 GB GPU-வில் இயக்க முடியாது. பயன்படுத்தப்படாத experts உட்பட அனைத்தையும் சேமித்து வைக்க போதுமான VRAM உங்களுக்குத் தேவை.

கட்டமைப்பு (The Architecture):

ஒரு sparse MoE-இல், நிலையான Feed-Forward Network (FFN), பல "expert" FFN-கள் மற்றும் ஒரு கற்றறிந்த router (learned router) மூலம் மாற்றப்படுகிறது.

  1. Router ஒரு token-ஐ எடுத்துக்கொள்கிறது.
  2. அது ஒவ்வொரு expert-க்கும் ஒரு மதிப்பெண்ணை (score) வழங்குகிறது.
  3. அது top-k experts-களைத் தேர்ந்தெடுக்கிறது (Mixtral-க்கு, k=2).
  4. அந்த experts வழியாக மட்டுமே token-ஐச் செலுத்துகிறது.
  5. முடிவுகளை ஒருங்கிணைக்கிறது.

Router என்பது ஒரு கைமுறை scheduler அல்ல. அது ஒரு கற்றறிந்த அடுக்கு (learned layer). கணிதத் தொடர்பான (math) tokens-களை ஒரு expert-க்கும், குறியீட்டுத் (code) தொடர்பான tokens-களை மற்றொரு expert-க்கும் அனுப்ப அது கற்றுக்கொள்கிறது.

பயிற்சியளிக்கும் சவால் (The Training Challenge):

மிகப்பெரிய ஆபத்து router collapse ஆகும். உதவி இல்லையென்றால், router ஒவ்வொரு token-ஐயும் ஒரே இரண்டு experts-களுக்கு அனுப்பக்கூடும். அந்த experts சிறப்பாகச் செயல்படத் தொடங்குவதால், router இன்னும் அதிக traffic-ஐ அவர்களுக்கு அனுப்புகிறது. மற்ற experts பயனற்றதாகிவிடுகின்றன.

பொறியாளர்கள் இதைச் சரிசெய்ய ஒரு auxiliary load-balancing loss-ஐப் பயன்படுத்துகிறார்கள். மாடல் அனைத்து experts-களையும் சமமாகப் பயன்படுத்தவில்லை என்றால், இது மாடலுக்குத் தண்டனை (penalty) வழங்குகிறது.

எப்போது MoE-ஐத் தவிர்க்க வேண்டும்:

• நிலையான தாமத நேரம் (latency) தேவைப்பட்டால்: MoE-இல் பதிலளிக்கும் நேரங்களில் அதிக மாறுபாடு (variance) இருக்கும். • குறைந்த VRAM இருந்தால்: உங்களிடம் 48 GB-க்கும் குறைவான ஒரு GPU மட்டுமே இருந்தால், dense மாடல்களையே பயன்படுத்துங்கள். • சிறிய மாடல்களை உருவாக்குகிறீர்கள் என்றால்: உங்கள் மாடல் 3B parameters-க்கும் குறைவாக இருந்தால், அதன் overhead மிக அதிகமாக இருக்கும். • எளிமையான உள்கட்டமைப்பு தேவைப்பட்டால்: MoE-க்கு சிக்கலான expert parallelism மற்றும் custom kernels தேவைப்படுகின்றன.

30B parameters-க்கு மேல் உள்ள ஒரு dense baseline-ஐ நீங்கள் இலக்காகக் கொண்டு, அதை ஆதரிக்கத் தேவையான memory உங்களிடம் இருக்கும்போது MoE சிறந்த தேர்வாகும்.

Mixture of Experts (MoE): இது உண்மையில் எவ்வாறு செயல்படுகிறது மற்றும் எப்போது இது பலன் தரும்?

பெரிய மொழி மாதிரிகளின் (Large Language Models - LLMs) உலகில், ஒரு முக்கியமான தொழில்நுட்பமாக Mixture of Experts (MoE) உருவெடுத்துள்ளது. GPT-4 போன்ற நவீன மாதிரிகள் இந்தத் தொழில்நுட்பத்தைப் பயன்படுத்துவதாகக் கருதப்படுகிறது. ஆனால், இது உண்மையில் எவ்வாறு செயல்படுகிறது? இது ஏன் ஒரு புரட்சிகரமான மாற்றமாகக் கருதப்படுகிறது? வாருங்கள் விரிவாகப் பார்ப்போம்.

அடர்த்தியான மாதிரிகள் (Dense Models) vs சிதறிய மாதிரிகள் (Sparse Models)

MoE-ஐப் புரிந்துகொள்ள, முதலில் நாம் வழக்கமான "அடர்த்தியான" (Dense) மாதிரிகளுக்கும், "சிதறிய" (Sparse) மாதிரிகளுக்கும் இடையிலான வேறுபாட்டைப் புரிந்துகொள்ள வேண்டும்.

1. அடர்த்தியான மாதிரிகள் (Dense Models)

வழக்கமான ஒரு LLM (உதாரணமாக, ஒரு சிறிய Transformer மாதிரி) ஒரு அடர்த்தியான மாதிரியாகும். இதில், நீங்கள் ஒரு கேள்வியைக் கேட்டால், அந்தப் பதிலைக் கணக்கிட மாதிரியில் உள்ள அனைத்து அளவுருக்களும் (all parameters) பயன்படுத்தப்படுகின்றன.

  • குறைபாடு: மாதிரி எவ்வளவு பெரியதாக வளர்கிறதோ, அதற்கேற்ப கணக்கீட்டுச் செலவும் (computational cost) மற்றும் நேரமும் அதிகரிக்கும். இது மாதிரியை மெதுவாக்கும்.

2. சிதறிய மாதிரிகள் (Sparse Models - MoE)

MoE என்பது ஒரு சிதறிய மாதிரியாகும். இதில் மாதிரியில் பல "நிபுணர்கள்" (Experts) இருப்பார்கள். ஆனால், ஒவ்வொரு உள்ளீட்டிற்கும் (input) அனைத்து நிபுணர்களும் வேலை செய்யத் தேவையில்லை. ஒரு குறிப்பிட்ட உள்ளீட்டிற்குத் தேவையான சில நிபுணர்கள் மட்டுமே தேர்ந்தெடுக்கப்பட்டு, அவர்கள் மட்டுமே அந்த வேலையைச் செய்வார்கள்.

  • நன்மை: மாதிரியின் மொத்த அளவுருக்கள் (total parameters) மிக அதிகமாக இருந்தாலும், ஒரு குறிப்பிட்ட கணக்கீட்டிற்குப் பயன்படுத்தப்படும் அளவுருக்கள் (active parameters) குறைவாகவே இருக்கும். இது வேகத்தையும் செயல்திறனையும் அதிகரிக்கிறது.

MoE எவ்வாறு செயல்படுகிறது? (Under the Hood)

MoE கட்டமைப்பில் இரண்டு முக்கிய கூறுகள் உள்ளன:

  1. நிபுணர்கள் (Experts): இவை மாதிரியின் உள்ளே இருக்கும் சிறிய Feed-Forward Networks (FFN) ஆகும். ஒவ்வொரு நிபுணரும் தரவின் ஒரு குறிப்பிட்ட பகுதியை அல்லது ஒரு குறிப்பிட்ட வகை அறிவைச் சிறப்பாகக் கையாளப் பழகியிருப்பார்கள்.
  2. கேட்டிங் நெட்வொர்க் (Gating Network / Router): இதுதான் MoE-ன் மூளை. ஒரு உள்ளீடு (token) வரும்போது, எந்த நிபுணரிடம் அதை அனுப்ப வேண்டும் என்பதை இந்த ரூட்டர் (router) தீர்மானிக்கிறது.

செயல்முறை விளக்கம்:

  1. ஒரு தரவு (token) உள்ளீடாக வருகிறது.
  2. Gating Network அந்தத் தரவைப் பகுப்பாய்வு செய்து, அதற்கு எந்த நிபுணர்கள் பொருத்தமானவர்கள் என்று முடிவு செய்கிறது.
  3. பொதுவாக, சிறந்த இரண்டு அல்லது மூன்று நிபுணர்கள் மட்டுமே தேர்ந்தெடுக்கப்படுவார்கள்.
  4. தேர்ந்தெடுக்கப்பட்ட நிபுணர்கள் மட்டும் அந்தத் தரவைச் செயலாக்கி, வெளியீட்டைத் தருகிறார்கள்.

ஏன் MoE ஒரு சிறந்த தேர்வாக உள்ளது?

1. அளவிடுதல் (Scaling)

MoE மூலம், நாம் மாதிரியின் அளவை (parameter count) மிக எளிதாக அதிகரிக்க முடியும். உதாரணமாக, ஒரு மாதிரியில் 1 டிரில்லியன் அளவுருக்கள் இருக்கலாம், ஆனால் ஒவ்வொரு முறை ஒரு வார்த்தையை உருவாக்கும் போதும், வெறும் 10 பில்லியன் அளவுருக்கள் மட்டுமே பயன்படுத்தப்படலாம். இது மிகக் குறைந்த கணக்கீட்டுத் திறனில் (compute) மிகப்பெரிய அறிவைச் சேமிக்க உதவுகிறது.

2. கணக்கீட்டுத் திறன் (Computational Efficiency)

அதிகப்படியான அளவுருக்களைப் பயன்படுத்தாமல், தேவையானவற்றை மட்டும் பயன்படுத்துவதால், பயிற்சியளிக்கும் போதும் (training) மற்றும் பதில்களை உருவாக்கும் போதும் (inference) நேரம் மற்றும் மின்சாரம் மிச்சமாகிறது.


சவால்கள் (The Trade-offs)

MoE எவ்வளவு சிறந்தது என்றாலும், இதில் சில சவால்களும் உள்ளன:

  • நினைவகத் தேவை (Memory Requirements): அளவுருக்களின் எண்ணிக்கை அதிகமாக இருப்பதால், மாதிரியைச் சேமித்து வைக்க அதிக VRAM (GPU memory) தேவைப்படும். கணக்கீட்டுச் செலவு குறைந்தாலும், நினைவகச் செலவு (memory cost) அதிகம்.
  • பயிற்சி சிக்கல்கள் (Training Instability): கேட்டிங் நெட்வொர்க் சரியாக வேலை செய்யவில்லை என்றால், சில நிபுணர்கள் மட்டுமே அதிக வேலைப்பளுவையும், மற்றவர்கள் வேலையற்றவர்களாகவும் மாறிவிடக்கூடும் (Expert collapse). இதைத் தவிர்க்க மேம்பட்ட நுட்பங்கள் தேவைப்படுகின்றன.

முடிவு

Mixture of Experts (MoE) என்பது பெரிய மொழி மாதிரிகளை அடுத்த கட்டத்திற்கு எடுத்துச் செல்லும் ஒரு தொழில்நுட்பமாகும். இது "அளவு" (Scale) மற்றும் "வேகம்" (Efficiency) ஆகியவற்றுக்கு இடையிலான சமநிலையைச் சரியாகப் பயன்படுத்துகிறது. எதிர்கால AI மாதிரிகள் இன்னும் புத்திசாலித்தனமாகவும், அதே சமயம் வேகமாகவும் இருக்க MoE ஒரு முக்கிய அடித்தளமாக இருக்கும் என்பதில் சந்தேகமில்லை.


மேலும் அறிய: GyaanSetuAi