MindSpore Ya Huawei: Mshindani Mpya Wa TensorFlow Na PyTorch?

Orodha ya maudhui:

MindSpore Ya Huawei: Mshindani Mpya Wa TensorFlow Na PyTorch?
MindSpore Ya Huawei: Mshindani Mpya Wa TensorFlow Na PyTorch?

Video: MindSpore Ya Huawei: Mshindani Mpya Wa TensorFlow Na PyTorch?

Video: MindSpore Ya Huawei: Mshindani Mpya Wa TensorFlow Na PyTorch?
Video: MindSpore от Huawei: новый конкурент для TensorFlow и PyTorch? 2024, Mei
Anonim

Huawei ilitangaza kuwa vifaa vyake vya TensorFlow na PyTorch MindSpore Deep Learning middleware sasa ni chanzo wazi. Tafuta katika nakala hii sifa muhimu zaidi.

MindSpore na Huawei
MindSpore na Huawei

Huawei imetangaza tu kwamba mfumo wake wa MindSpore wa kukuza matumizi ya AI unakuwa chanzo wazi na inapatikana kwenye GiHub na Gitee. MindSpore ni mfumo mwingine wa Kujifunza kwa kina wa mafunzo ya modeli za mtandao wa neva, sawa na TensorFlow au PyTorch, iliyoundwa kwa matumizi kutoka Edge hadi Cloud, ambayo inasaidia GPU zote mbili na wasindikaji wa Huawei Ascend.

Agosti iliyopita, wakati Huawei ilitangaza uzinduzi rasmi wa processor yake ya Ascend, MindSpore ilianzishwa kwa mara ya kwanza, ikisema kuwa katika kikao cha kawaida cha mafunzo ya ResNet-50, mchanganyiko wa Ascend 910 na MindSpore ni karibu mara mbili haraka. Wakati wa kufundisha mifano ya AI dhidi ya kadi zingine kuu za ujifunzaji kwa kutumia TensorFlow Ni kweli kwamba mifumo mingi imeibuka katika miaka ya hivi karibuni, na labda MindSpore sio zaidi ya kundi moja ambalo linaweza kushindana kwa mbali na TensorFlow (inayoungwa mkono na Google) na PyTorch (inayoungwa mkono na Facebook).

Usanifu wa mfumo

Tovuti ya MindSpore inaelezea kuwa miundombinu ina tabaka kuu tatu: kujieleza mbele, injini ya michoro, na wakati wa kukimbia wa nyuma. Takwimu ifuatayo inaonyesha mchoro wa kuona:

Picha
Picha

Kiwango cha kwanza cha MindSpore kinatoa API ya Python kwa waandaaji programu. Kwa kuwa isimu ya lugha katika jamii yetu ni de facto Python, na vinginevyo MindSpore inataka kushindana na PyTorch na TensorFlow. Na API hii, waandaaji programu wanaweza kudanganya mifano (mafunzo, uingiliano, n.k.) na mchakato wa data. Kiwango hiki cha kwanza pia kinajumuisha usaidizi wa uwakilishi wa mpito wa nambari (MindSpore IR), ambayo utaftaji mwingi utategemea ambayo inaweza kufanywa kwa kulinganisha na kutofautisha kiatomati (GHLO).

Chini ni safu ya Injini ya Grafu ambayo hutoa utendaji unaofaa kuunda na kutekeleza utofautishaji wa kiatomati wa grafu ya utekelezaji. Pamoja na MindSpore, walichagua mtindo wa kutofautisha kiatomati zaidi ya PyTorch (ambayo hutengeneza grafu yenye nguvu ya utekelezaji) au TensorFlow (ingawa chaguo la kuunda ratiba bora zaidi ya utekelezaji ilichaguliwa hapo awali, sasa pia inatoa chaguo la nguvu ya utekelezaji wa grafu na inaruhusu toleo la tuli la grafu na kutumia @ tf. kazi ya mapambo ya API ya kiwango cha chini).

Chaguo la MindSpore ni kubadilisha nambari ya chanzo kuwa fomati ya kati ya nambari (MindSpore IR) kuchukua faida ya mifano hiyo miwili (kwa habari zaidi, angalia sehemu ya "Kutenganishwa kwa Moja kwa Moja" kwenye wavuti ya MindSpore).

Safu ya mwisho ina maktaba yote na mazingira ya wakati wa kukimbia yanahitajika kusaidia usanifu wa vifaa anuwai ambavyo nambari itashughulikiwa. Uwezekano mkubwa zaidi, itakuwa backend sawa na mifumo mingine, labda na huduma za Huawei, kama maktaba kama HCCL (Maktaba ya Mawasiliano ya Pamoja ya Huawei), sawa na NVIDIA NCCL (Maktaba ya Mawasiliano ya Pamoja ya NVIDIA).

Mafunzo ya usaidizi wa taswira

Kulingana na mafunzo ya MindSpore, ingawa haikuwezekana kuisakinisha na kuitumia, wana MindInsight kuunda vielelezo ambavyo vinakumbusha TensorBoard, TensorFlow. Angalia picha zingine za skrini wanazoonyesha kwenye wavuti yao:

Picha
Picha
Picha
Picha

Kulingana na mwongozo, kwa sasa MindSpore hutumia utaratibu wa kupiga simu (kukumbusha jinsi inafanywa na Keras) kuandika (katika faili ya kumbukumbu) katika mchakato wa kufundisha vigezo vyote vya mfano na vigezo vya juu tunavyotaka, na pia ratiba ya hesabu wakati kukusanya mtandao wa neva katika nambari ya kati imekamilika.

Ulinganifu

Katika mafunzo yao, wanazungumza juu ya njia mbili za ulinganifu (DATA_PARALLEL na AUTO_PARALLEL) na kutoa nambari ya sampuli inayofundisha ResNet-50 na hifadhidata ya CIFAR ya processor ya Ascend 910 (ambayo sikuweza kujaribu). DATA_PARALLEL inahusu mkakati unaojulikana kama kulinganisha data, ambayo inajumuisha kugawanya data ya mafunzo katika tanzu nyingi, ambayo kila moja inaendesha mfano sawa wa mfano, lakini katika vitengo tofauti vya usindikaji. Msaada wa Injini ya Grafu hutolewa kwa kulinganisha kificho na haswa kwa kulinganisha kwa AUTO_PARALLEL.

Modi ya AUTO_PARALLEL huboresha moja kwa moja kwa kuchanganya mkakati wa kulinganisha data (uliojadiliwa hapo juu) na mkakati wa ulinganifu wa mfano, ambao mfano umegawanywa katika sehemu tofauti, na kila sehemu hutekelezwa kwa usawa katika vitengo tofauti vya usindikaji. Hali hii ya moja kwa moja huchagua mkakati wa kulinganisha ambao hutoa faida bora, ambazo zinaweza kusomwa juu ya sehemu ya Sambamba Moja kwa Moja kwenye wavuti ya MindSpore (ingawa hawaelezei jinsi makadirio na maamuzi yanavyofanywa). Tutalazimika kusubiri kupata wakati kwa timu ya kiufundi kupanua nyaraka na kuelewa maelezo zaidi juu ya mkakati wa ulinganifu wa kiotomatiki. Lakini ni wazi kwamba mkakati huu wa kulinganisha kiotomatiki ni muhimu, na hapa ndipo wanapofaa na wanaweza kushindana na TensorFlow au PyTorch, kupata utendaji mzuri zaidi kwa kutumia wasindikaji wa Huawei.

Ramani ya barabara iliyopangwa na jinsi ya kuchangia

Kwa kweli kuna kazi nyingi ya kufanywa na kwa wakati huu wamerekebisha maoni waliyonayo kwa mwaka ujao katika ramani ya barabara iliyowasilishwa kwenye ukurasa huu, lakini wanasema kuwa vipaumbele vitabadilishwa kulingana na mtumiaji.

Maoni. Kwa sasa tunaweza kupata mistari hii kuu:

  1. Msaada wa modeli zaidi (inasubiri mifano ya kawaida, GAN, RNN, Transfoma, modeli za kujifunza zilizoimarishwa, programu inayowezekana, AutoML, n.k.).
  2. Panua API na maktaba ili kuboresha utumiaji na uzoefu wa programu (waendeshaji zaidi, viboreshaji zaidi, kazi zaidi za kupoteza, n.k.)
  3. Ufafanuzi kamili wa Huawei Ascend processor na uboreshaji wa utendaji (uboreshaji wa mkusanyiko, uboreshaji wa matumizi ya rasilimali, nk.
  4. Mageuzi ya mkusanyiko wa programu na utekelezaji wa uboreshaji wa grafu ya hesabu (kuboresha uwakilishi wa kati wa IR, na kuongeza uwezo wa kuongeza utaftaji, n.k.).
  5. Msaada wa lugha zaidi za programu (sio Chatu tu)
  6. Kuboresha ujifunzaji uliosambazwa na uboreshaji wa upangaji wa moja kwa moja, usambazaji wa data, n.k.
  7. Boresha zana ya MindInsight ili iwe rahisi kwa programu "utatuaji" na uboresha utaftaji wa menejimenti wakati wa mchakato wa ujifunzaji.
  8. Maendeleo katika kuwasilisha utendaji wa kielelezo kwa vifaa vilivyo kwenye Edge (usalama, msaada kwa modeli zisizo za jukwaa kupitia ONNX, n.k.)

Kwenye ukurasa wa jamii, unaweza kuona kwamba MindSpore ina washirika nje ya Huawei na China, kama Chuo Kikuu cha Edinburgh, Imperial College London, Chuo Kikuu cha Munster (Ujerumani) au Chuo Kikuu cha Paris-Saclay. Wanasema watafuata mtindo wa utawala ulio wazi na wataalika jamii nzima kuchangia kanuni na nyaraka zote mbili.

Hitimisho

Baada ya mtazamo wa haraka haraka, inaonekana kama muundo sahihi na maamuzi ya utekelezaji (kama sarafu na utofautishaji wa kiatomati) inaweza kuongeza nafasi ya maboresho na uboreshaji ambao unafanikisha utendaji mzuri kuliko mifumo wanayotaka kuizidi. Lakini bado kuna kazi nyingi mbele kukamata PyTorch na TensorFlow, na juu ya yote jenga jamii, sio tu! Walakini, sisi sote tayari tunajua kwamba kwa msaada wa kampuni moja kubwa katika tasnia kama Huawei, chochote kinawezekana, au ilikuwa dhahiri miaka mitatu iliyopita wakati toleo la kwanza la PyTorch (Facebook) lilitoka kwamba linaweza kuwa karibu na kisigino ya TensorFlow (Google)?

Ilipendekeza: