Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Big Data zmienia oblicze układów scalonych

ghost666 12 Jun 2017 19:37 2259 0
Computer Controls
  • Big Data zmienia oblicze układów scalonych
    Ogromne zasoby danych, zbierane przez firmy takie jak Amazon, Google czy Facebook muszą być odpowiednio analizowane. Dzięki rozwojowi tych firm powstaje coraz więcej układów scalonych, mających umożliwić sprzętowe przyspieszenia realizacji algorytmów analiz danych. Dwa nowe podejścia prezentowane będą niebawem na konferencji poświęconej architekturze komputerów.

    Jedną z prezentowanych, nowych architektur jest Plasticine, opracowana na uniwersytecie Stanforda. Jest ona niemalże sto razy wydajniejsza (w przeliczeniu na wat) niż układy FPGA, a jednocześnie dużo prostsza w programowaniu niż takowe. Druga opisywana architektura powstała w laboratoriach Nvidii, gdzie zespół projektantów zdefiniował specjalny procesor, dedykowany do inferencji w systemach głębokiego uczenia maszynowego. Układ ten dostarcza niemalże dwa razy taką wydajność obliczeniową jak dzisiejsze układy, a jednocześnie charakteryzuje się dwa razy większa wydajnością energetyczną.

    Te dwa nowatorskie układy to tylko czubek góry lodowej, jaka rusza z uwagi na sektor Big Data. Intel nabył trzy start-upy zajmujące się uczeniem maszynowym. Jego rywal w tym zakresie - Samsung - wraz z Dell EMC inwestuje w Graphcore z Wielkiej Brytanii - jednej z szeregu niezależnych spółek-startupów w tej branży. W tym czasie Nvidia, oprócz tworzenia nowych architektur, wykorzystuje dobrze znane systemy oparte na GPU do tworzenia sieci neuronowych. Google z kolei chwalił się niedawno własnymi akceleratorami dla algorytmów Tensorflow.

    "To Komputery 2.0; To zupełnie nowy świat dla obliczeń" komentował Nigel Toon, szef Graphcore. "Google finalnie będzie najpewniej używać cały szaf wypełnionych układami TPU i niemalże w ogóle CPU, ponieważ większość dochodów tej firmy pochodzi z wyszukiwarki - doskonałej aplikacji dla uczenia maszynowego". Niebawem jak przewiduje Toon, układy do uczenia maszynowego będą występowały w szerokiej gamie systemów wbudowanych. Co roku sprzedaje się około 18 milionów aut, a jedynie 10 milionów serwerów. "Autonomiczne samochody są dużo większym rynkiem niż technologie chmurowe, a to rynek, który dotychczas w ogóle nie istniał".

    Wspólną wizją całego sektora jest procesor sztucznej inteligencji który mógłby tak uczyć sieć neuronową jak i dokonywać inferencji. Miałoby to dać przyszłość samo-uczącym się systemom. Aby było to jednak możliwe konieczne jest zrównoleglenie wielu zadań w tych układach, przy jednoczesnym zachowaniu wydajności energetycznej. Nie jest to proste zadanie. Nawet podstawowe zagadnienia matematyczne na tym poziomie są mocno dyskusyjne. Toon uważa, że 16 bitowe mnożenie zmiennoprzecinkowe z 32 bitowym akumulatorem dostarcza odpowiedniej precyzji z minimalnymi błędami.

    Opisane powyżej podejście zastosowano w nowych tensorowych rdzeniach Nvidia Volta, podobnie jak w systemach Graphcore, które niedługo trafią do zainteresowanych developerów. W tym ostatnim układzie startup z Wielkiej Brytanii zaimplementował wiele nowych, ciekawych rozwiązań, włączając w to nowoczesną pamięć i zupełnie nowe interkonekty.

    Big Data zmienia oblicze układów scalonych

    Z kolei badacze z Stanford, jakkolwiek cel mają podobny, to podeszli zupełnie inaczej do tego zagadnienia. Stworzyli zupełnie nową architekturę komputerową - Plasticine. "Era wielordzeniowych systemów dociera do końca. Dzięki wykorzystaniu uczenia maszynowego dochodzimy do etapu, gdzie aplikacje mają realny wpływ na sposób obliczania w systemie" mówi Kunle Olukotun, który kierował zespołem inżynierów w Stanfordzie. "Obecne potrzeby obliczeniowe są bardzo różne od dotychczasowych obliczeń deterministycznych, więc to ogromna szansa na stworzenie nowej architektury"

    Grupa z Stanford odrzuca wszystkie utarte kanony, takie jak współdzielony spójny cache, "Jedną z najbardziej ekscytujących rzeczy, jest możliwość stworzenia rekonfigurowalnego sprzętu, który cały czas, podczas pracy, będzie optymalizował się pod kątem realizowanego obecnie zadania" mówi Stephen Eglash z Stanfordu, opisując Plasticine.

    "Naszym celem jest stworzenie architektury, która umożliwi każdemu tworzenie systemów uczenia maszynowego, bez bycia ekspertem w uczeniu maszynowym czy stworzonej przez nas architekturze sprzętowej" tłumaczy Olukoton. Aby to zrealizować badacze stworzyli Spatial - język projektowania, który mapuje poszczególne części algorytmu na równolegle pracujące części ich procesora. "Stworzyliśmy cały kompilator i zestaw narzędzi od wysokopoziomowego frameworku TensorFlow do sprzętowej reprezentacji kodu. Dzięki temu ten układ osiąga około 10 razy większą wydajność niż układy FPGA, w przeliczeniu na wat pobieranej mocy i jest sto razy prostszy do programowania" mówi Olukoton.

    Spatial jest podobny do projektowania CUDA na układy GPU od Nvidii, ale jest od niego prostszy. Pozwala w prosty sposób mapować funkcje takie jak scatter/gather czy algorytm MapReduce do złożonej architektury układu. Wszystko dzięki temu, że układ zaprojektowano dopiero po tym, gdy gotowe było oprogramowanie.

    Tego rodzaju technologie, jak zauważa Eglash, potrzebne są zwłaszcza w dobie popularyzacji systemów Internetu Rzeczy. "Będziemy produkować coraz więcej danych - zbyt wiele, aby wysyłać je wszystkie do chmury; musimy stworzyć jakiś mechanizm lokalnego ich obrabiania" mówi Eglash. W krótkim czasie doprowadzi to do super-personalizacji naszych smartfonów, dzięki wprowadzeniu konfigurowalnych układów scalonych, które dopasowywać będą się do danego zagadnienia. Dzięki temu nasze telefony mogą na przykład nauczyć się nas rozpoznawać po naszych działaniach - koniec haseł i odcisków palca.

    W zakresie przemysłowych systemów IoT inferencja już rozdzielona jest lokalnie, jak mówi Darren Haas z General Electrics Digital. Zauważa on spory problem z tym, że nadmiernie opieramy się na obliczeniach w chmurze, a nie lokalnie. Plasticine może być odpowiedzią na ten problem. Ta nowoczesna architektura wykracza daleko poza to co robi na przykład Graphcore - wykorzystuje ona wysoki poziom abstrakcji do lokalnej obróbki danych, dopasowując się do konkretnego zadania w szerokim zakresie aplikacji.

    W swojej obecnej formie układ wykorzystuje macierz 16 x 8 jednostek PCU (obliczania wzorca) oraz PMU (pamięci wzorca) połączonych ze sobą trzema interkonektami korzystającymi z trzech różnych protokołów. Wszystko na 113 mm? układu scalonego. Język Spatial pozwala na mapowanie aplikacji na tą macierz i dostarczać 95 krotnie większej wydajności niż podobny FPGA wykonany w technologii 28 nm. Układ taki jest też o wiele wydajniejszy energetycznie - moc obliczeniowa na wat jest 77 krotnie większa niż w przypadku układu programowalnego. Plasticine pobiera około 49 W przy taktowaniu 1 GHz. Układ osiąga 12,4 TFlopsa i ma wbudowane 16 MB pamięci

    Big Data zmienia oblicze układów scalonych


    Główne moduły układu połączone są ze sobą trzema interkonektami. Na poziomie pojedynczych słów wysyłane są wartości skalarne, a na poziomie wielu słów to wektory. Trzeci interkonekt to system bitowy, służący do kontroli. Łącza używają dystrybuowanego, hierarchicznego schematu kontroli, który minimalizuje potrzebę synchronizacji jednostek, aby umożliwić sekwencyjną pracę. Takie podejście znacznie upraszcza mapowanie algorytmów i poprawia wydajność przy ich realizacji. "Każdy komponent Plasticine mapowany jest na konkretny element aplikacji: lokalne adresowanie wyliczane jest w PMU. a adresowanie DRAMu wyznaczone jest w jednostce zarządzania pamięcią DRAM. Pozostałe obliczenia realizowane są w blokach PCU.

    "Zasadniczo jest to układ pamięci z wysokowyspecjalizowanymi jednostkami adresowania" tłumaczy Olukoton. Dzięki temu system prowadzi obliczenia sprawnie - dane transferowane są z pamięci do jednostek obliczeniowych dokładnie kiedy trzeba i nie marnuje się czasu na np. interpretowanie instrukcji". Układ wykorzystuje zewnętrzną pamięć DRAM, dołączoną z pomocą czterech kanałów DDR. Pozwala to na zminimalizowanie obliczeń na samym układzie.

    "Duża część uczenia maszynowego skupia się na implementacji zbieżnych sieci neuronowych, ale naszym celem było być bardziej elastycznymi i objąć szerszą gamę algorytmów, która ciągle się zmienia, wraz z rozwojem nowych pomysłów. Dzięki temu programiści mogą od razu wykorzystywać swoje pomysły na sprzęcie" mówił Olukoton.

    Obecnie badacze testują rozwiązanie w symulacjach, jednakże już wygenerowane są projekty samego układu scalonego. Obecnie trwają testy z wykorzystaniem różnych algorytmów uczenia maszynowego, algebry liniowej, analityki etc. Za około 6..18 miesięcy pierwszy fizyczny układ oparty na tej architekturze powinien być gotowy, jak zapewniają badacze.

    Big Data zmienia oblicze układów scalonych
    Porównanie Plasticine z 28 nm Intel Stratix-V.


    Grupa dziewięciu badaczy (spośród czego siedem pracuje dla Nvidii) zaprezentuje na konferencji akcelerator inferencji SCNN, dedykowany do zbieżnych sieci neuronowych. Jednym z członków zespołu jest Joel Emer, znany jako jedna z osób odpowiedzialnych za definicję jednoczesnej wielowątkowości. Oprócz niego w skład zespołu wchodzi także np. William Dally, szef pionu badawczego Nvidii.

    Jak podają inżynierowie, SCNN dostarcza 2,7 krotnie większą wydajność obliczeniową i 2,3 większą wydajność energetyczną niż używane obecnie akceleratory inferencji. Nowy układ odróżnia się od innych agresywniejszym podejściem do eliminacji niekonsekwentnych operacji matematycznych i skupia się na tych najważniejszych. Dodatkowo w SCNN zaimplementowano nowy sposób przesyłu danych, który pozwala na ich kodowanie i eliminację zbędnych transferów danych.

    Big Data zmienia oblicze układów scalonych


    Element przetwarzający (PE), który jest sercem opisywanego układu wykorzystuje macierz mnożników, na którą podawane są wagi i parametry aktywacji. 64 takie PE z 16 mnożnikami każdy mogą zmieścić się na powierzchni zaledwie 7,4 mm? przy technologii 16 nm.

    Podobnie jak w przypadku Plasticine, prezentowane obecnie wyniki oparte są na symulacjach - nie zrealizowano jeszcze tych układów fizycznie. Nvidia jest na dobrej drodze, jak mówi Dally, do fizycznego wykonania układów. Opracowane są już projekty struktury półprzewodnikowej. Obecnie trwa jej optymalizacja pod kątem własności pasożytniczych i zależności czasowych. Firma nie ogłosiła żadnych planów co do komercjalizacji tego rozwiązania.

    Źródło: Link

    Cool? Ranking DIY
    About Author
    ghost666
    Translator, editor
    Offline 
    Fizyk z wykształcenia. Po zrobieniu doktoratu i dwóch latach pracy na uczelni, przeszedł do sektora prywatnego, gdzie zajmuje się projektowaniem urządzeń elektronicznych i programowaniem. Od 2003 roku na forum Elektroda.pl, od 2008 roku członek zespołu redakcyjnego.
    ghost666 wrote 11701 posts with rating 9875, helped 157 times. Live in city Warszawa. Been with us since 2003 year.
  • Computer Controls