Необичаен дизайн на чип осигурява различен подход за намаляване на енергийните разходи на AI

Заедно с ефективността на системите с изкуствен интелект нараства и тяхното потребление на енергия. Обучението на нови системи е изключително енергоемко. То обикновено изисква масивни набори от данни и много процесорно време. Изпълнението на обучена система е много по-лесно. В редица случаи дори смартфоните могат да я управляват лесно. Но тъй като се изпълнява толкова много пъти, това потребление на енергия също има тенденция да се натрупва.

Нови идеи

Съществуват много идеи, как да се намали потреблението на енергия. IBM и Intel са експериментирали с процесори, предназначени да имитират поведението на действителните неврони. IBM също тества изпълнението на изчисления на невронни мрежи в паметта за промяна на фазата. Така могат да се избегнат повторни пътувания до RAM.

Сега IBM излиза с нов подход. Новият процесор NorthPole на компанията е взел някои от идеите зад всички изброени методи и ги е слял с много опростен подход за извършване на изчисления. Така се създава високоенергийно ефективен чип. Той може ефективно да изпълнява базирани на умозаключения невронни мрежи. За неща като класификация на изображения или аудио транскрипция, чипът може да бъде до 35 пъти по-ефективен, отколкото разчитането на GPU.

Необичаен процесор

NorthPole е предназначен само за изпълнение. Той не е общ AI процесор. Той е специално проектиран за невронни мрежи, фокусирани върху извода. Както беше отбелязано по-горе, изводите включват неща като намиране на съдържание на изображение или аудиоклип, така че да имат широк диапазон от приложения. Този чип може да ви помогне, ако вашите нужди включват изпълнение на голям езиков модел, защото те са твърде големи, за да паснат в хардуера.

NorthPole не е невроморфен хардуер, тъй като неговите процесорни единици извършват изчисления, вместо да се опитват да емулират пиковите комуникации, които действителните неврони използват.

Какво всъщност е NorthPole? Подобно на TrueNorth преди него, той се състои от голям масив от изчислителни единици. Всяка от тях включва както локална памет, така и капацитет за изпълнение на код. Така всички тегла на различните връзки в невронната мрежа могат да се съхраняват точно там, където са необходими.

Друга характеристика е обширната мрежова връзка в чипа, с най-малко четири отделни мрежи. Някои от тях пренасят информация от завършени изчисления до изчислителните единици, където са необходими след това. Други се използват за преконфигуриране на целия масив от изчислителни единици. Така осигуряват невронните тегла и кода, необходими за изпълнение на един слой от невронната мрежа, докато изчисленията на предишния все още се извършват.

Комуникациите между съседните изчислителни единици са оптимизирани. Това може да бъде полезно за неща като намиране на ръба на обект в изображение. Ако изображението е въведено така, че пикселите да отиват към съседни изчислителни единици, те могат по-лесно да си сътрудничат, за да идентифицират функции, които се простират в съседни пиксели.

Максимална оптимизация

Компютърните ресурси също са необичайни. Всяка единица е оптимизирана за извършване на изчисления с по-ниска точност. Въпреки че често се изисква по-висока точност за обучение, стойностите, необходими по време на изпълнение, обикновено не изискват такова ниво.

За да запазят тези изпълнителни единици в употреба, те не са в състояние да изпълняват условни разклонения въз основа на стойността на променливите. Това означава, че вашият код не може да съдържа израз „if“. Това елиминира нуждата от хардуер необходим за спекулативно изпълнение на разклонения и гарантира, че ще бъде изпълнен грешен код, когато тази спекулация се окаже грешна.

Тази простота на изпълнение прави всяка изчислителна единица способна на масивно паралелно изпълнение. С двубитова точност всяко устройство може да извършва над 8000 изчисления паралелно.