Skocz do zawartości

Moduły RISC-V z akceleratorem sieci neuronowych za 20 zł


Pomocna odpowiedź

Napisano

Moduły RISC-V z akceleratorem sieci neuronowych za 20 zł

Procesory z architekturą RISC-V stają się coraz popularniejsze i coraz tańsze. Otwarta licencja sprzyja eksperymentom i umożliwia stosunkowo łatwą integrację z najnowszymi rozwiązaniami. Firma Sipeed wypuszcza na rynek kolejny moduł z rozwiązaniem konkurencyjnym dla popularnych rdzeni stworzonych w architekturze ARM.

UWAGA, to tylko wstęp! Dalsza część artykułu dostępna jest na blogu.

Przeczytaj całość »

Poniżej znajdują się komentarze powiązane z tym wpisem.

Płytka ciekawa, aczkolwiek nie napawa optymizmem w kwestii wsparcia. Warto dodać też że te imponujące 0,25 TOPS dotyczy obliczeń zapewne na 16 bitowych (jeśli nie wręcz 8 ) zmiennych, dobre to do sieci neuronowych ale poza tym nie bardzo.

To co robi niezłe wrażenie to demo z wykorzystaniem matrycy mikrofonów.

@zook, witam na forum 😉 Widzę, że to Twoje pierwsze kroki na Forbocie, oto najważniejsze informacje na start:

  • Chcesz przywitać się z innymi członkami naszej społeczności? Skorzystaj z tematu powitania użytkowników.
  • Opis najciekawszych funkcji, które ułatwiają korzystanie z forum znajdziesz w temacie instrukcja korzystania z forum - co warto wiedzieć?
  • Poszczególne posty możesz oceniać (pozytywnie i negatywnie) za pomocą reakcji - ikona serca w prawym dolnym rogu każdej wiadomości.

15 godzin temu, zook napisał:

To tylko babol kopiującego opis 😛

Poprawiłem jednostkę we wpisie 😉

Jestem niesamowicie zaskoczony, jak bardzo szybko ludzie z okolic Shenzhen wzieli sprawy AI w swoje ręce i zaczęli produkować własny "krzem".

Dla mnie, temat osadzania sieci w małych układach jest niezwykle interesujący. Zamówiłem sobie nawet te układy, aby je przetestować. 
Są dostępne nie tylko przez Indiegogo. Sprzedają je również przez Taobao - kupiłem je tam zanim wystartowała kampania na Indie. ;)

 

  • Lubię! 2

Cześć,

zasada dzialania takich akceleratorów opiera się na bardzo prostych 8-bitowych lub 16 bitowych arytmometrach przyspieszających obliczanie iloczynu skalarnego dla wektorów o wielu wymiarach. Skąd iloczyn skalarny wektorów - otóż wiele modeli sztucznych neuronów pracuje na zasadzie obliczania iloczynu skalarnego wektorów wejściowych dla neuronów>

Patrz definicja iloczynu skalarnego:

http://matematykadlastudenta.pl/strona/703.html

https://pl.wikipedia.org/wiki/Iloczyn_skalarny

Tu cytat:

Standardowy iloczyn skalarny definiuje się wzorem - gdy chcemy go obliczyć na podstawie współrzednych wektorów (n- wymiarowych):

a ⋅ b = a 1 b 1 + ⋯ + a n b n ,

Jak widzimy we wzorze jest dużo prostych mnożeń i dodawań, które można zrównoleglić  sprzętowo. I to robią właśnie takie akceleratory.

A tutaj link do wykładu   Pana Doktora Krawca:

Copyright

Jerzy Stefanowski & Krzysztof Krawiec

http://www.cs.put.poznan.pl/kkrawiec/aied/NNMLW1.pdf

Jeśli przeczytacie opis "neuronu sztucznego" z tego wykładu to będzie wiadomo czemu liczenie iloczynu skalarnego w wydajny sposób przyśpiesza działanie  sztucznych sieci neuronowych. I co najważniejsze często wystarcza tu arytmetyka 8-mio lub 16-to bitowa. (liczby stało-przecionkowe).

Podobne akceleratory można np. budować na układach FPGA, ale są tu dwa duże minusy:

1) przesyłanie danych wejściowych i wyjściowych pomiędzy układem FPGA a procesorem jest wąskim gardłem

2) cena rozwiązania jest wysoka

Trochę zaczyna tracić sens budowanie własnych akceleratorów na układach FPGA, gdy Chińczycy wypuścili układy ASIC (specjalizowane) do akceleracji AI. I to jeszcze w tak przystępnej cenie.

BTW: zasada działania jest podobna do akceleratora obliczeń AI firmy Google o nazwie Tensor

https://en.wikipedia.org/wiki/Tensor_processing_unit

Szczególnie pierwsza generacja Tensorów była mocno zbliżona.

Właśnie na jednostkach obliczeniowych Tensor oparty jest open-source "Machine learning framework" TensorFlow

Jak widzimy Chińczycy powoli uczą się rywalizować z Amerykanami w dziedzinie AI i "machine learning".

Pozdrawiam

  • Lubię! 1

@FlyingDutch dziękuję za wyczerpujący opis, ale śledzę te tematy od dłuższego czasu i generalnie wiem, co i jak działa. Nie mniej, myślę, że te źródła przydadzą się osobom mniej zorientowanym w temacie.

Generalnie, miałem na myśli, że ludzie starają się przenosić pewne rzeczy do coraz mniejszych układów i młodzi adepci elektroniki i DIY będą mogli pozwolić sobie na utworzenie ciekawych projektów. (Nie wspominam o dużych firmach.)

  • Lubię! 2

Jedyny problem jaki ja widzę w tej małej rewolucji jest to że są to całkiem skąplikowane zagadnienia, zdecydowanie nie jest to poziom Arduino, można spokojnie połamać sobie zęby na próbie rozgryzienia tematu. Szczególnie będąc hobbistyą bez odpowiedniego przygotowania.

  • Lubię! 2
9 minut temu, diablo_911 napisał:

@FlyingDutch dziękuję za wyczerpujący opis, ale śledzę te tematy od dłuższego czasu i generalnie wiem, co i jak działa. Nie mniej, myślę, że te źródła przydadzą się osobom mniej zorientowanym w temacie.

Cześć,

właśnie do osób mniej obeznanych z tematem kierowałem ten post.

Pozdrawiam

5 minut temu, zook napisał:

Jedyny problem jaki ja widzę w tej małej rewolucji jest to że są to całkiem skąplikowane zagadnienia, zdecydowanie nie jest to poziom Arduino, można spokojnie połamać sobie zęby na próbie rozgryzienia tematu. Szczególnie będąc hobbistyą bez odpowiedniego przygotowania.

Cześć,

właśnie frameworki typu "TensorFlow" mocno ułatwiają tu sprawę, ale zgodzę się, że nie są to najprostsze zagadnienia.

Pozdrawiam

  • Lubię! 1
21 godzin temu, FlyingDutch napisał:

właśnie frameworki typu "TensorFlow" mocno ułatwiają tu sprawę, ale zgodzę się, że nie są to najprostsze zagadnienia.

Dokładnie tak, takie framewroki znacznie ułatwiają wejście w ten świat i coraz więcej osób może się tym "pobawić". Przykładów nie trzeba szukać daleko, tutaj mamy sortowanie LEGO za pomocą SI: Sortowanie LEGO dzięki Raspberry Pi i TensorFlow. Jeszcze kilka lat temu mało kto zdecydowałby się na taki projekt, a teraz wystarczy Raspberry Pi, gotowy zestaw bibliotek i można działać 😉

  • Lubię! 1

Sieci neuronowe to trudny temat. Powiedziałbym nawet, że trochę magiczny. 🙂 
Bierzemy mocny komputer, trochę danych, przepuszczamy wszystko przez czarną skrzynkę i nagle to coś potrafi, np. rozpoznawać literki. 
Sama koncepcja działania sieci jest, wydaje się prosta, ale niewiele rzeczy daje się tam ściśle udowodnić. 

Ale... Nie każdy musi być w stanie zaimplementować wszystko od zera. Fantastyczne jest to, że (dokładnie tak samo, jak w przypadku RPi czy Arduino)
mamy dostępnych sporo frameworków (każdy z API dla Pythona). Do tego są tzw. model zoo, gdzie każdy może pobrać wytrenowany model.

Z tego, co się orientuję, Sipeed ma własny port MicroPythona (MaxiPy), z którego będzie sterować płytką i uruchamiać modele.
Myślę, że takie coś może zostać wykorzystane przez prawie każdego. Jak znajdę chwilę to spróbuję znaleźć jakieś przykładowe projekty od Sipeed-a i przetestować działanie płytki.

  • Lubię! 1

Cześć,

w kontekście tego układu nasuwa mi się jeszcze jedno pytanie: Czy Chińczycy uruchomią jakieś rozwiązanie programistyczne "w chmurze" korzystające z akceleracji AI opartej na tych układach podobne do wspomnianego "TensorFlow" Google. Pewnie zajmie im to kilka lat bo jest to większe przedsięwzięcie niż wypuszczenie nowej architektury układów ASIC.

Pozdrawiam

  • Lubię! 1

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...