ആപ്പിൾ ഓപ്പൺ സോഴ്സ് ആപ്പിൾ സിലിക്കൺ-ഒപ്റ്റിമൈസ്ഡ് മെഷീൻ ലേണിംഗ് ഫ്രെയിംവർക്ക് MLX

You are currently viewing ആപ്പിൾ ഓപ്പൺ സോഴ്സ് ആപ്പിൾ സിലിക്കൺ-ഒപ്റ്റിമൈസ്ഡ് മെഷീൻ ലേണിംഗ് ഫ്രെയിംവർക്ക് MLX

ആപ്പിൾ സിലിക്കണിനായി ഒപ്റ്റിമൈസ് ചെയ്ത നംപി, പൈടോർച്ച് എന്നിവയിൽ നിന്ന് പ്രചോദനം ഉൾക്കൊണ്ട് ഒരു മെഷീൻ ലേണിംഗ് ചട്ടക്കൂട് സൃഷ്ടിക്കുന്നതിന് ആപ്പിളിന്റെ എം എൽ എക്സ് പരിചിതമായ എപിഐകൾ, കമ്പോസബിൾ ഫംഗ്ഷൻ പരിവർത്തനങ്ങൾ, അലസമായ കംപ്യൂട്ടേഷൻ എന്നിവ സംയോജിപ്പിക്കുന്നു. പൈത്തൺ, C++ എന്നിവയിൽ നടപ്പിലാക്കിയ ചട്ടക്കൂട് ആപ്പിൾ സിലിക്കണിൽ മെഷീൻ ലേണിംഗ് മോഡലുകൾ പരിശീലിപ്പിക്കുന്നതിനും വിന്യസിക്കുന്നതിനും ഉപയോക്തൃ സൗഹൃദവും കാര്യക്ഷമവുമായ പരിഹാരം നൽകാൻ ലക്ഷ്യമിടുന്നു.

ആപ്പിൾ പറയുന്നതനുസരിച്ച്, മെഷീൻ ലേണിംഗ് ഗവേഷകർക്കായി മെഷീൻ ലേണിംഗ് ഗവേഷകർ രൂപകൽപ്പന ചെയ്തതും എംഐടി ലൈസൻസിന് കീഴിൽ പുറത്തിറക്കിയതുമാണ് എംഎൽഎക്സ്. ട്രാൻസ്ഫോർമർ ലാംഗ്വേജ് മോഡൽ പരിശീലനം, മിസ്ട്രൽ ഉപയോഗിച്ച് വലിയ തോതിലുള്ള ടെക്സ്റ്റ് ജനറേഷൻ, സ്ഥിരമായ വ്യാപനമുള്ള ഇമേജ് ജനറേഷൻ, വിസ്പർ ഉപയോഗിച്ച് സ്പീച്ച് റെക്കഗ്നിഷൻ എന്നിവയെ ഇത് പിന്തുണയ്ക്കുന്നു.

എം എൽ എക്സ് ഒരു NumbPy-പ്രചോദിത, ലോ-ലെവൽ പൈത്തൺ എപിഐയും പൂർണ്ണമായും ഫീച്ചർ ചെയ്ത സി ++ എപിഐയും വാഗ്ദാനം ചെയ്യുന്നു. കൂടാതെ, പൈടോർച്ച് എപിഐയെ പിന്തുടർന്ന് കൂടുതൽ സങ്കീർണ്ണമായ മോഡലുകൾ സൃഷ്ടിക്കാൻ ഉപയോഗിക്കാവുന്ന ഒരു ഉയർന്ന തലത്തിലുള്ള എപിഐ ഇത് നൽകുന്നു.

സങ്കീർണ്ണമായ നിര പരിവർത്തനങ്ങൾ നിർമ്മിക്കുന്നത് എളുപ്പമാക്കുന്ന കമ്പോസിബിൾ ഫംഗ്ഷനുകളിലൂടെ ഓട്ടോമാറ്റിക് ഡിഫറൻസേഷൻ, ഓട്ടോമാറ്റിക് വെക്റ്ററൈസേഷൻ, കംപ്യൂട്ടേഷൻ ഗ്രാഫ് ഒപ്റ്റിമൈസേഷൻ എന്നിവയെ ചട്ടക്കൂട് പിന്തുണയ്ക്കുന്നു. എം എൽ എക്സ് അലസമായ കമ്പ്യൂട്ടിംഗിനെയും പിന്തുണയ്ക്കുന്നു, അതായത് കമ്പ്യൂട്ടേഷണൽ കാര്യക്ഷമത മെച്ചപ്പെടുത്തുന്നതിന് ആവശ്യമുള്ളപ്പോൾ മാത്രമേ ഇത് നിരകൾ യാഥാർത്ഥ്യമാക്കൂ. അതുപോലെ, കംപ്യൂട്ടേഷൻ ഗ്രാഫുകൾ ചലനാത്മകമായി നിർമ്മിച്ചിരിക്കുന്നു, അതിനാൽ ഫംഗ്ഷൻ വാദങ്ങളുടെ ആകൃതികൾ മാറ്റുന്നത് മന്ദഗതിയിലുള്ള സമാഹാരങ്ങൾക്ക് കാരണമാകില്ല.

ആപ്പിൾ സിലിക്കൺ യൂണിഫൈഡ് മെമ്മറിയുടെ ഉപയോഗമാണ് എം എൽ എക്സിലെ ഒരു സവിശേഷ സവിശേഷത, ഇത് മറ്റ് എം എൽ ചട്ടക്കൂടുകളിൽ നിന്ന് വേറിട്ടുനിൽക്കുന്നുവെന്ന് ആപ്പിൾ പറയുന്നു. ചുരുക്കത്തിൽ, ഇതിനർത്ഥം പങ്കിട്ട മെമ്മറിയിൽ അറേകൾ തത്സമയമാണ്, മെമ്മറിയിലുടനീളം ഡാറ്റ കൈമാറാതെ സിപിയു അല്ലെങ്കിൽ ജിപിയുവിൽ അറേ പ്രവർത്തനങ്ങൾ നടത്താൻ കഴിയും. ഉദാഹരണത്തിന്, നിങ്ങൾ ഒരു നിര സൃഷ്ടിക്കുമ്പോൾ, അതിന്റെ സ്ഥാനം വ്യക്തമാക്കേണ്ടതില്ല, കാരണം അത് ഏകീകൃത മെമ്മറിയിൽ ജീവിക്കുന്നു, അതേസമയം നിങ്ങൾ അത് നടപ്പിലാക്കുമ്പോൾ സിപിയു അല്ലെങ്കിൽ ജിപിയുവിൽ അതിൽ ഒരു പരിവർത്തനം പ്രവർത്തിപ്പിക്കണോ എന്ന് നിങ്ങൾ തിരഞ്ഞെടുക്കുന്നു:

a = mx.random.normal ((100,)) b = mx.random.normal ((100,)) mx.add(a, b, stream=mx.cpu) mx.add(a, b, stream=mx.gpu)

എം 1 ഉൾപ്പെടെ ഏത് ആപ്പിൾ സിലിക്കൺ സിപിയുകളിലും MLX ഉപയോഗിക്കാൻ കഴിയും, കൂടാതെ സംയോജിത ജിപിയു പ്രയോജനപ്പെടുത്താനും കഴിയും, അതിനാൽ ഗവേഷകർക്ക് അവരുടെ ആവശ്യങ്ങൾക്ക് ഏറ്റവും അനുയോജ്യമായ ഹാർഡ്വെയർ തിരഞ്ഞെടുക്കാൻ കഴിയും.

BERT, Laama, Mistral, Stable Difusion എന്നിവയുൾപ്പെടെ വിവിധ മോഡലുകളുമായി ഇത് എങ്ങനെ ഉപയോഗിക്കാം എന്നതിന്റെ നിരവധി ഉദാഹരണങ്ങൾ MLX റിപ്പോയിൽ ഉൾപ്പെടുന്നു. ഓരോ ഉദാഹരണവും ഒരു ആവശ്യകത.txt ഫയലിൽ ഏതൊക്കെ ആശ്രിതത്വങ്ങൾ ആവശ്യമാണെന്ന് ലിസ്റ്റുചെയ്യുകയും ഉപയോഗിക്കാൻ തയ്യാറുള്ള സിഎൽഐ ഉപകരണങ്ങൾ നൽകുകയും ചെയ്യുന്നു. ഉദാഹരണത്തിന്, സ്റ്റേബിൾ ഡിഫ്യൂഷൻ ഉപയോഗിച്ച് ഇമേജുകൾ സൃഷ്ടിക്കുന്നതിന്, നിങ്ങൾ ആദ്യം ആവശ്യമായ എല്ലാ ആശ്രിതത്വങ്ങളും ഇൻസ്റ്റാൾ ചെയ്യുന്നു, തുടർന്ന് txt2image.py കമാൻഡ് പ്രവർത്തിപ്പിക്കുക:

പിഐപി ഇൻസ്റ്റാൾ -ആർ ആവശ്യകതകൾ.txt പെരുമ്പാമ്പ് txt2image.py “ചൊവ്വയിൽ കുതിര സവാരി ചെയ്യുന്ന ഒരു ബഹിരാകാശയാത്രികന്റെ ഫോട്ടോ.” –n_images 4 –n_rows 2

ആപ്പിൾ ഇതുവരെ പൊതു മാനദണ്ഡങ്ങൾ പുറത്തിറക്കിയിട്ടില്ല, അതിനാൽ പൈടോർച്ച് / എംപിഎസ് അല്ലെങ്കിൽ ജോർജി ഗെർഗനോവിന്റെ ലാമ.cpp എന്നിവയുമായി താരതമ്യപ്പെടുത്തുമ്പോൾ ഇത് എങ്ങനെ പ്രവർത്തിക്കുന്നുവെന്ന് ഞങ്ങൾക്കറിയില്ല.

എന്നിരുന്നാലും, സ്റ്റേബിൾ ഡിഫ്യൂഷൻ ഉദാഹരണത്തിൽ പൈടോർച്ച്, എം എൽ എക്സ് എന്നിവയിലൂടെ പ്രവർത്തിപ്പിക്കുമ്പോൾ സ്റ്റേബിൾ ഡിഫ്യൂഷനിൽ യുനെറ്റിന്റെ പ്രകടനത്തിന്റെ താരതമ്യം ഉൾപ്പെടുന്നു. ഒപ്റ്റിമൽ ബാച്ച് വലുപ്പങ്ങൾ താരതമ്യപ്പെടുത്തുമ്പോൾ 16 ബാച്ച് വലുപ്പമുള്ള പൈടോർച്ചിനേക്കാൾ ~40% ഉയർന്ന ത്രൂപുട്ട് എം എൽ എക്സ് കൈവരിക്കുന്നുവെന്ന് ഇത് കാണിക്കുന്നു.

എന്നിരുന്നാലും, ചെറിയ ബാച്ച് വലുപ്പങ്ങളിൽ പൈടോർച്ച് മികച്ച പ്രകടനം കാഴ്ചവയ്ക്കുന്നു, 1 ന്റെ ബാച്ച് വലുപ്പങ്ങൾക്ക് ~ 50% ഉയർന്ന ത്രൂപുട്ടും 4 ബാച്ച് വലുപ്പങ്ങൾക്ക് ~ 10% കൂടുതലും. ആപ്പിൾ പറയുന്നതനുസരിച്ച്, മോഡലുകൾ മെമ്മറിയിൽ ലോഡ് ചെയ്യാതിരിക്കുകയും പൈടോർച്ചിന്റെ എംപിഎസ് ഗ്രാഫ് കെർണലുകൾ കാഷ് ചെയ്യാതിരിക്കുകയും ചെയ്യുമ്പോൾ അത്തരം സന്ദർഭങ്ങളിൽ പൈടോർക്കിന്റെ നേട്ടം സമാഹാര വേഗതയിലൂടെ കണക്കാക്കാൻ കഴിയും.

MLX ഔട്ട് പരീക്ഷിക്കാൻ നിങ്ങൾക്ക് താൽപ്പര്യമുണ്ടെങ്കിൽ, നിങ്ങൾക്ക് അതിന്റെ ദ്രുത സ്റ്റാർട്ട് ഗൈഡിലേക്കോ പൂർണ്ണ ഡോക്യുമെന്റേഷനിലേക്കോ പോകാം.

[Read the original article here](https://www.infoq.com/news/2023/12/apple-silicon-machine-learning/)

Dr Bibin

Experienced Researcher with a demonstrated history of working in the Deep Learning, Computer Vision

Leave a Reply