-
Dojo Computer카테고리 없음 2022. 3. 7. 13:49
무어의 법칙은 이어진다!
https://img.samsungsemiconstory.com/kr/wp-content/uploads/2021/06/wafer_8process_20170406_05.jpghttps://img.samsungsemiconstory.com/kr/wp-content/
실리콘 다이 옥사이드 (SiO2) , 실리콘 웨이퍼를 산화시키면 SiO2 층이 위에 얇게 깔리게 된다.
다이의 명칭은 이에서 유래한다메모리 계층
SRAM 이 제일 빠르지만, 제일 비쌈
대역폭 = BUS 라 부름(low level language 가 이 길 을 따라 이동함)
DRAM 옆까지 HBM 깔 수있다(하이닉스)
FPGA,ASIC 는 2.5D 많이사용(3D 발열 문제)
모바일쪽 3D 쪽작은칩을 여러개 하면
중간 구멍뚤려도 수율이 잘 나옴
현대 컴퓨터는 부동소수점, 추론 기능을 해야 하기 때문에
여러 기능이 필요함(특화된 GPU, NPU 등)
멀티 코어를 도입해서 병렬로 연산,
연산결과를 L1 캐쉬에 잠시 모아서 다음 단계로(L2)
애플의 M1 칩도 50달러밖에안한다고 합니다
창업 컨퍼런스를 가봤는데, 차량용 FPGA 가 50달러밖에 안한다 해서 놀랐는데, 애플은 더 대단한 것 같습니다. 수율(정상품 비율) 이 잘나와야 더 싸질 것이다. FPGA 는 자일링스 등 의 회사가 만든 소프트웨어로 로직(AND,NOR,XOR) 단위의 프로그램을 짠다( c 언어 base) 센서 퓨전은
픽셀 칩과 로직칩을 하나로 얹는다
이에 따라 기존 이미지보다 향상된 raw 이미지를 얻을 수 있다 ( image signal processing chip, ISP)
클라우드에 전송하지않고, 픽셀별 로직칩단위로 돌발상황 대처 가능하다고 합니다.(3d 패키지로 가능)
에너지 갭 에너지가 큰
GaN (갈륨화나이트라이드) 사용 가능트레이닝 노드 1개의 대략적 기능별 도식도 아키텍쳐는 커스텀으로, x86, ARM 과는 다르다
L3 캐쉬는 없고 L2 캐쉬가 아주 많다.
< DRAM 과 SRAM 의 차이 >
DRAM 은 캐패시터 위주라, 고주파에서의 로스가 있다.(신호지연)
nor 소자 2개로 이루어져 있다.(not or) SRAM 은 논리 회로인 플립-플롭 으로 이루어져 있기 때문에 (슬리퍼가 플립플롭하게 소리가 나듯이, set, reset, 현재출력상태 q 세개의 비트에 따라서 다음 상태(비트) 가 결정되는.
기억하는 순차 회로이다. )
논리 소자 하나는 여러개의 반도체소자로 이루어져 있으므로,
당연히 속도가 엄청나게 빠르다.
한 트레이닝 노드당 L2 캐쉬가 1.25메가바이트를 가집니다.
354개노드가 모여서 하나의 칩을구성하므로
L2!캐쉬는 424메가바이트를 가진다(숫자가낮을수록 더 빠름)
경쟁사들대비 아주많은 캐쉬메모리를 가진다.
https://www.youtube.com/watch?v=OS1ALCQJdKw위 동영상이 파이프라인에 대한 이해를 도울 수 있을 것 같습니다(애플 사 )
로직 칩과 메모리 칩을 가깝게 연결, interposer라는 실리콘에 구멍을 뚫어 그 안에 전도성 물질로 채워넣어
선의 한계를 뛰어 넘는다.
Simultaneous Multi-Threading (SMT)
Custom ISA optimized for ML kernels
superscalar 여러개의 명령어를 동시에 가져오는 명령어 가져오기
조건부 분기 명령의 결과를 예측 하는 능력.
4개의 멀티 쓰레딩,(4개 쓰레드)
4개의 스칼라 2개의 벡터 파이프라인.2개의 Address generation unit
arithmetic Logic Unit
https://fuse.wikichip.org/news/2707/inside-teslas-neural-processor-in-the-fsd-chip/
Inside Tesla's Neural Processor In The FSD Chip
A deep dive into the custom-designed Tesla neural processing units integrated inside the company's full self-driving (FSD) chip based on the Tesla Hot Chips 31 talk.
fuse.wikichip.org
Instruction 명령어 세트
opcode 연산자 (연산코드)
파라미터
플래그 , 싱크 비트 등 (데이터 디펜던시에 사용, 결과가 나와야 다음연산을 해야 할때...)
익스텐션 (복잡한 연산)
https://this-may-interest-you2.blogspot.com/2021/09/tesla-memo-1.html
Custom Instruction Set Architecture (ISA, 명령어 집합 세트) 를 이용합니다 (이부분이 놀라운 점! 컴퓨터를 위해 ISA 를 커스텀 함!)Transpose, link, gather 등 의 연산을 위해 최적화 된 듯 합니다.MAC 어레이에서 데이터 재사용이 중요합니다. 그렇지 않으면 대역폭의 초당 테라바이트로도 충분하지 않습니다. 일부 디자인에서는 성능을 향상시키기 위해 한 번에 여러 이미지를 작업할 수 있습니다. 그러나 지연 시간은 안전상의 이유로 설계의 중요한 속성이었기 때문에 가능한 개별이미지를 빠르게 작업해야 합니다.
Tesla는 여기에서 여러 가지 다른 최적화를 수행합니다. NPU는 출력 채널 내에서 X 및 Y 차원의 출력 픽셀을 병합하여 여러 출력 채널에서 병렬로 작동합니다. 이를 통해 작업을 병렬화하고 동시에 96픽셀에서 작동할 수 있습니다. 즉, 한 채널의 모든 픽셀에서 일할 때, 모든 입력 가중치가 공유됩니다. 또한 출력 채널과 입력 채널 루프도 교환합니다(아래 사진의 코드 부분 참조). 이를 통해 모든 출력 채널에서 순차적으로 작업하여 추가 데이터 이동 없이 모든 입력 활성화를 공유할 수 있습니다. 대역폭 요구 사항의 또 다른 멋진 감소입니다.
With the optimizations mentioned above, the MAC array operations are simplified. Each array comprises 9,216 MACs and is arranged in a 96 by 96 cells of independent single-cycle MAC feedback loops (note that this is not a systolic array, there is no data shifting inter-cells). In order to simplify their design and reduce the power, their MACs comprise 8-bit by 8-bit integer multiply and a 32-bit integer addition. Tesla’s own models are all pre-quantized when they are sent to customers, so the chips just store all the data and weights in 8-bit integers.
8비트 곱셈, 32 비트 정수 덧셈 연산으로 MAC 이 이루어져 있다.
어차피 양자화되어(1,0)으로 데이터가 소비자에게 보내지기 때문에, 데이터와 웨이트 를 8 비트 정수로 저장한다
bottom-most row(인풋 데이터) , right-most column (웨이트) 연산
Each cycle, the bottom row of the input data and the right-most column of the weights are broadcasted across the entire MAC array. Each cell independently performs the appropriate multiply-accumulate operation. On the next cycle, the input data is pushed down by a row while the weights grid is pushed to the right by a row. The process is repeated with the bottom-most row of the input data and the right-most column of the weights getting broadcasted across the array. The cells continue to independently perform their operation. At the conclusion of a full dot product convolution, the MAC array is shifted down a row of 96 elements at a time which is also the throughput of the SIMD unit.
삼성에서 제조한 14nm 공정의 테슬라 FSD 칩
프리페치를 위한 DMA 작업이 있다
데이터 재사용을 할 수 있어서 광대역 요구정도가 줄어든다(Bandwidth 요구 정도라고 이해)
bandwidth 최적화는 현업에서 중요한 듯 한데, 이는 개념 slope 를 참조할 것
병목현상 없음
gpu는 메인메모리로부터 fetch해와야하는 문제를 가지고 있음
노드 선택은 중요한문제이다(노드개수를 몇개잡을지 에대한 문제인듯)
너무작게잡으면 오버헤드가클것이고
크게잡으면 병목현상이일어난다.
고주파에서는 1초당 진동수가 2기가 즉 , 10의 9승정도의 신호가 오갈수있으므로
한 클락사이클에 갈수있는 가장 먼 거리를 택하여 노드선택을 하였다.
https://www.tweaktown.com/news/81229/teslas-insane-new-dojo-d1-ai-chip-full-transcript-of-its-unveiling/index.htmlTesla's insane new Dojo D1 AI chip, a full transcript of its unveiling
Telsa's new Dojo AI architecure revealed, and it's pretty much the first stages of Skynet -- oh, and Tesla's building a robot, too.
www.tweaktown.com
일감(메모리) 일꾼이 가져와야함(fetch) 얼마나많은일감가져오는지(bandwidth)
그러나 타일화된 이러한 구조는 그런 문제를 해결함
곱하기와 덧셈에 있어서 강점인 구조
광대역은 왜중요?
-> 하나의길을 공유하면 메모리 병목현상
초록색은 메모리 공간짐켈러의 회사 텐스토렌트와 같이
두개의 모듈 사이의 모듈이 스위치와 같은 역할을 한다(초당 보내는 데이터수 늘어남 , 반도체구조상 전압을 가하면 전류가 흘러서 데이터가 이동하는데, 데이터전송을 이와같이 소자단위별 전송속도까지 올리겠다는 뜻인거같다 당연히 병목현상이없다. 어딘가에 메모리적재했다가 한개씩빼내는것보다 계속이어지게 하는게 더 빠를것이다 이를위해 데이터크기는 8비트로 한 것으로 보인다. 데이터하나의단위당 전자3개니까말이다 )
따라서 더 광대역이 된다트레이닝타일이라 부르는1개의 실리콘 웨이퍼에 25개의 d1칩을 만든다
이것으로 광대역을 할수있다.
이것은 TSMC의 기술력,공정이있기에 가능하다 이를 이용한 첫번째 작품이다tsmc 의 패키징에 대해 잠시 알아보겠습니다
표면장력때문에 solder 가 동그랗게되서 범프 가 됨
애플워치 때문에 패키징이 대두됨(얇아야 함)팬아웃 공정으로 (후공정)
Power delivery N
I/O 핀을 연결하는 공정이다.
전력 분배및 연결 층과 써멀,즉 열 방출 층이있어서 임피던스가 굉장히 낮다npu는 cpu gpu보다 더 전력소모가 적으며
sparse matrix 를 다루는데 효과적입니다
자율주행에서 프레임간 변하는게 거의없기때문에
sparse matrix를 푸는것은 메인 목표입니다machine learning as a service 구현
클라우드 서비스
도조컴퓨터는 이러한 서비스를 팔고 돈을 받을 것입니다
아마존 애져와 같이 말이죠...LOAD(캐쉬 메모리가 제일 빠름) - fetch- decode- execute
Pre-petch도 있는만큼 fetch과정은 중요하다.
SRAM의 존재이유이다.
Fp64 : 대부분 슈퍼컴퓨터 가 사용
Tesla : bf16 cfp8 fp32 memory 구성요소
16bit 8bit로 다운시켜서 잘게 쪼개서 스피드를 높임
왜 8비트일까
ISA 와도 관련이 있다고 생각됨.
Load, Store 의 약어 Ld, St
Byte 의 약어 = B
SRAM 만 쓰는게 도조 컴퓨터의 차별점
SRAM 과 연산유닛과의 거리가 좁아 빠른 LOAD, STORE 가능
Arithmetric G Unit (연산 유닛, G 가 무슨 뜻???)
Arthmetric Logic Unit(사칙 연산, 연산 유닛 )Input / Output 에 high Band Width 구현
1초당 9테라 바이트 가 지나 갈 수 있음 (고속도로 깐셈)와이어 대신 실리콘(반도체)으로 다이와 다이 사이를 연결
이러면 통신속도가 매우 빨라짐
도조 컴퓨팅 유닛 1500개를 깔고 , 그 옆에 도조 인터페이스 프로세서를 추가했는데
이것은 호스트 데이터센터이며(호스트를 위한) 공유 디램 입니다. (디램을 쓰는 이유는 대용량 처리를 위해서 인듯... SRAM 으로 하면 너무 비싸지니까 속도를 일부 포기하고 대용량을 선택)
더 높은 밑 을 가지는 네트워크 연결수를 가지는 (수직통합의 중요한 점,, 하는 이유 ... )컴퓨팅을 제공합니다.
W
pci gen4 와 연결되어 광대역을 제공합니다.(모듈과 모듈 사이에 광대역)
( 이 때, 광섬유 (fiber) 를 이용하여 더 빠르게 할 수 있다고 함. 광대역 더 넓어짐 )애플의 예시
마더보드 대신 독자적인 실리콘 다이 옥사이드 --> 다이 두개를 연결해서 광대역 을 이루어냄파이프라인 병렬화에 있어서 특정 명령어는 종속적인데(결과가 나와야 다음것이 가능)
이것을 해결할 수 있는 macro scalar 프로세서가 있다.
" 매크로스칼라 프로세서는 새로운 방식으로 이 문제를 해결합니다. 컴파일 타임에 데이터 종속 루프가 완료될 때 다음 명령어 세트를 실행할 준비가 되도록 조건부 보조 명령어를 생성합니다. 실제로 루프를 완료하기 위해 다른 파이프라인을 로드하므로 루프가 계속되거나 완료되더라도 파이프라인은 가득 찬 상태를 유지합니다. 또한 루프 내에서 또는 루프 사이에서 실행되는 일련의 순차적 명령을 로드하여 실행 속도도 높일 수 있습니다. "
파이프라인이 가득차야 빈 공간이 없고, 속도가 빨라진다.