Na stronie Wikipedii możemy przeczytać, że Google zbudował niestandardowy układ ASIC do uczenia maszynowego i dostosowany do TensorFlow, który pomaga przyspieszyć AI.
Ponieważ układy scalone ASIC są specjalnie dostosowane do jednego konkretnego zastosowania bez możliwości zmiany jego obwodu, należy wywołać pewien ustalony algorytm.
Jak dokładnie działa przyspieszenie AI za pomocą układów ASIC, jeśli nie można zmienić jego algorytmu? Która część dokładnie przyspiesza?
Odpowiedzi:
Operacje tensora
Główną pracą w większości aplikacji ML jest po prostu zestaw (bardzo dużych) operacji tensorowych, np. Mnożenie macierzy. Można zrobić to łatwo w układzie ASIC, a wszystkie inne algorytmy mogą po prostu uruchomić na początku tego.
źródło
Myślę, że algorytm zmienił się minimalnie, ale niezbędny sprzęt został przycięty do kości.
Liczba przejść bramek jest zmniejszona (być może również operacje zmiennoprzecinkowe i precyzja), podobnie jak liczba operacji przenoszenia danych, oszczędzając w ten sposób energię i czas działania. Google sugeruje, że ich TPU osiąga 10-krotną oszczędność kosztów, aby wykonać tę samą pracę.
https://cloudplatform.googleblog.com/2016/05/Google-supercharges-machine-learning-tasks-with-custom-chip.html
źródło
ASIC - skrót od IC specyficznego dla aplikacji. Zasadniczo piszesz programy do projektowania układu w HDL . Przyjmę przykłady tego, jak działają nowoczesne komputery, aby wyjaśnić mój punkt widzenia:
n
Liczba rdzeni? Nie ma problemu. Chcesz zdefiniować przepływ danych z różnych jednostek przetwarzania do różnych miejsc? Możesz to zrobić. Również przy starannym planowaniu można uzyskać kompromis między obszarem ASIC a mocą a prędkością. Jedyny problem polega na tym, że musisz stworzyć własne standardy. Zasadniczo przy projektowaniu procesorów przestrzegane są pewne dobrze zdefiniowane standardy, takie jak liczba pinów i ich funkcjonalność, standard IEEE 754 do reprezentacji zmiennoprzecinkowej itp., Które powstały po wielu próbach i błędach. Jeśli więc możesz je wszystkie pokonać, możesz łatwo stworzyć własny ASIC.Nie wiem, co Google robi z ich TPU, ale najwyraźniej zaprojektowali coś w rodzaju Integer i FP dla swoich 8-bitowych rdzeni, w zależności od wymagań. Prawdopodobnie wdrażają go w ASIC ze względu na moc, powierzchnię i prędkość.
źródło
Niska precyzja umożliwia obliczenia wysokiej równoległości w warstwach Convo i FC. Naprawiono architekturę CPU i GPU, ale ASIC / FPGA można zaprojektować w oparciu o architekturę sieci neuronowej
źródło