์ด ๋ฌธ์„œ์˜ ์›๋ณธ์€ ์™ธ๋ถ€ ์œ„ํ‚ค์—์„œ ๊ฐ€์ ธ์™”์Šต๋‹ˆ๋‹ค.

์•ŒํŒŒ๊ณ  ์‹ค๋ฌผ

1. ๊ฐœ์š”
1.1. ํ…์„œ์˜ ์˜๋ฏธ
2. ์ „์šฉ ์†Œํ”„ํŠธ์›จ์–ด3. ์ƒ์šฉํ™”4. ์„ฑ๋Šฅ5. ๋ฒ„์ „6. ๊ด€๋ จ ๋ฌธ์„œ

1. ๊ฐœ์š”[ํŽธ์ง‘]

Tensor Processing Unit์˜ ์•ฝ์ž.
๊ตฌ๊ธ€์—์„œ 2016๋…„ 5์›”์— ๋ฐœํ‘œํ•œ ๋ฐ์ดํ„ฐ ๋ถ„์„ ๋ฐ ๋”ฅ๋Ÿฌ๋‹์šฉ ํ•˜๋“œ์›จ์–ด์ด๋‹ค. ๋ฒกํ„ฐ/ํ–‰๋ ฌ์—ฐ์‚ฐ์˜ ๋ณ‘๋ ฌ์ฒ˜๋ฆฌ์— ํŠนํ™”๋˜์–ด ์žˆ์œผ๋ฉฐ ๋„˜์‚ฌ๋ฒฝ๊ธ‰์˜ ์ „์„ฑ๋น„๋ฅผ ์ž๋ž‘ํ•œ๋‹ค. ๋น„๊ฒฐ์€ 8๋น„ํŠธ ์ •์ˆ˜ ์—ฐ์‚ฐ์„ ํ™œ์šฉํ•˜๋Š” ๊ฒƒ์ด๋‹ค.[1] # ์ด๋Š” NVIDIA๋“ฑ์—์„œ๋„ ์‹คํ˜„ํ•œ์  ์žˆ๋‹ค. ์ฐจ์ด์ ์ด๋ผ๋ฉด, TPU๋Š” ๋ชจ๋ธ์˜ ์‹คํ–‰๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ํ•™์Šต ๊ณผ์ •์—๋„ 8๋น„ํŠธ ์ •์ˆ˜ ์—ฐ์‚ฐ์„ ํ™œ์šฉํ•  ๊ฒƒ์œผ๋กœ ์ถ”์ •๋œ๋‹ค๋Š” ๊ฒƒ. (์ž์„ธํ•œ ์ •๋ณด ๊ณต๊ฐœ๊ฐ€ ์—†๋Š” ์ƒํ™ฉ์ด๋ผ ์ •ํ™•ํ•˜์ง„ ์•Š์ง€๋งŒ) GPGPU์—์„œ ๋”ฅ๋Ÿฌ๋‹์— ํ•„์š”ํ•œ ๊ฒƒ๋“ค๋งŒ ๋‚จ๊ธฐ๊ณ  ๋‚˜๋จธ์งˆ ๋‹ค ๋นผ๋ฒ„๋ฆฐ ์„ค๊ณ„์™€ ๋น„์Šทํ•˜๋‹ค๋Š” ์ถ”์ธก๋„ ์žˆ๋‹ค. ์„ฑ๋Šฅ ํ•ญ๋ชฉ์˜ PCI-E ๋ณ‘๋ชฉ ๋ฌธ์ œ๋ฅผ ์ƒ๊ฐํ•˜๋ฉด APU(์ •ํ™•ํžˆ๋Š” HSA)๋‚˜ NVLINK์— ๊ฐ€๊นŒ์šด ๊ตฌ์กฐ๋ฅผ ํฌํ•จํ•˜๋Š” ๊ฒƒ์ผ ์ˆ˜๋„ ์žˆ๋‹ค. NVIDIA์˜ ๊ฒฝ์šฐ์—๋Š” P100๊ณผ ๊ฐ™์€ ์นฉ์…‹์œผ๋กœ 16๋น„ํŠธ ๋ถ€๋™์†Œ์ˆซ์  ์—ฐ์‚ฐ์„ ์‚ฌ์šฉํ•ด ๋ชจ๋ธ์„ ํ›ˆ๋ จ์‹œํ‚ค๊ณ , P4/P40๊ณผ ๊ฐ™์€ ์ œํ’ˆ์„ ํ†ตํ•ด 8๋น„ํŠธ ์ •์ˆ˜ ์—ฐ์‚ฐ์„ ํ™œ์šฉํ•ด ๋ชจ๋ธ์„ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์„ ์ด์ƒ์ ์œผ๋กœ ๋ณด์•˜๋‹ค. ๊ตฌ๊ธ€ ์—”์ง€๋‹ˆ์–ด ๋ธ”๋กœ๊ทธ์— ์˜ํ•˜๋ฉด ์•ŒํŒŒ๊ณ ๋„ GPU๊ฐ€ ์•„๋‹Œ TPU์ƒ์œผ๋กœ ๊ตฌํ˜„๋˜์–ด ์žˆ๋‹ค๊ณ  ํ•œ๋‹ค.

1.1. ํ…์„œ์˜ ์˜๋ฏธ[ํŽธ์ง‘]

ํ…์„œ ํ•ญ๋ชฉ ์ฐธ์กฐ.

2. ์ „์šฉ ์†Œํ”„ํŠธ์›จ์–ด[ํŽธ์ง‘]

TPU๋ฅผ ์œ„ํ•œ ์†Œํ”„ํŠธ์›จ์–ด๋กœ๋Š” ๊ตฌ๊ธ€์—์„œ ์˜คํ”ˆ์†Œ์Šค๋กœ ๊ณต๊ฐœํ•œ TensorFlow ๊ณต์‹ ์›น์‚ฌ์ดํŠธ๊ฐ€ ์žˆ๋‹ค. ์˜คํ”ˆ ์†Œ์Šค๋กœ ๊ณต๊ฐœ๋œ ๋ฒ„์ „์€ TPU๊ฐ€ ์•„๋‹Œ GPU๋ฅผ ์œ„ํ•œ๊ฒƒ์œผ๋กœ ์ฃผ์˜์š”๋ง.

3. ์ƒ์šฉํ™”[ํŽธ์ง‘]

์ถœ์‹œ ์‹œ์ ์—์„œ ๊ฐ€์žฅ ๋น ๋ฅด๊ฒŒ TPU๋ฅผ ์ด์šฉํ• ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์€ Google Cloud Platform์„ ํ†ตํ•ด Cloud TPU ์ž„๋Œ€ ๋ฒ ํƒ€์„œ๋น„์Šค๋ฅผ ์ด์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ๋Œ€๋‹น 6.5$/h

ํ˜„์žฌ ์†Œ๋น„์ž๊ฐ€ ๊ตฌํ• ์ˆ˜ ์žˆ๋Š” TPU๋Š” edge TPU ๊ธฐ๋ฐ˜์˜ ์ œํ’ˆ์ธ ์ฝ”๋ž„ ๋ณด๋“œ๋กœ[2] ์ผ์ฒดํ˜• ๋ณด๋“œ์—์„œ ๋ถ€ํ„ฐ M.2 PCI-Eํ™•์žฅ๋ชจ๋“ˆ๊นŒ์ง€ ๋‹ค์–‘ํ•œ ํผํŽ™ํ„ฐ์˜ TPU๊ตฌ์„ฑ์„ ๊ฐ–์ถ˜ ์ œํ’ˆ์ด๋‹ค ๋‹ค๋งŒ ๊ตฌ๊ธ€์ด ๋ฐ์ดํ„ฐ์„ผํ„ฐ์šฉ์œผ๋กœ ์“ฐ๋Š” TPU๊ฐ€ ์•„๋‹Œ ์ €์ „๋ ฅ ๋ฒ„์ „ ๊ธฐ๋ฐ˜์ด๋ผ ์„ฑ๋Šฅ์€ ๋‹ค๋ฅด๋‹ค. ๋˜ํ•œ ํ…์„œํ”Œ๋กœ์šฐ๋ฅผ ์ง€์›ํ•œ๋‹ค๋Š”๊ฒŒ ํŠน์ง•.

NVIDIA๋„ GeForce 20๋ถ€ํ„ฐ TPU์™€ ๋น„์Šทํ•œ ๊ธฐ๋Šฅ์„ ํ•˜๋Š” Tensor Core๋ฅผ ๋‚ด์žฅํ•˜๊ธฐ ์‹œ์ž‘ํ–ˆ๋‹ค. ์šฉ๋„๋Š” ๋‹ค๋ฆ„์•„๋‹Œ ๋ ˆ์ดํŠธ๋ ˆ์ด์‹ฑ๊ณผ DLSS ์•ˆํ‹ฐ์—์ผ๋ฆฌ์–ด์‹ฑ ๋ณด์กฐ์šฉ.

4. ์„ฑ๋Šฅ[ํŽธ์ง‘]

๊ตฌ๊ธ€์—์„œ ์ตœ๊ทผ์— ๋ฐœํ‘œํ•œ ๋‰ด๋Ÿด๊ธฐ๊ณ„๋ฒˆ์—ญ ๋…ผ๋ฌธ์— ์˜ํ•˜๋ฉด ํŠน์ • ์กฐ๊ฑดํ•˜์—์„œ TPU์˜ ์†๋„๋Š” GPU (Tesla K80, Kepler ์ฝ”์–ด 2๊ฐœ๊ฐ€ ์žฅ์ฐฉ๋˜์–ด ์žˆ๋‹ค)[3][4] ์˜ 10๋ฐฐ ์ด์ƒ ๋น ๋ฅด๋‹ค๊ณ  ํ•œ๋‹ค์ถœ์ฒ˜. ๋ฌผ๋ก  ํ•ด๋‹น ์†๋„๋Š” ๊ธฐ๊ณ„๋ฒˆ์—ญ๊ณผ์ •์—์„œ์˜ decoding๋‹จ๊ณ„์—์„œ ์ธก์ •ํ•œ๊ฑฐ๋ผ ๊ต‰์žฅํžˆ ์ œํ•œ๋œ ์กฐ๊ฑดํ•˜์—์„œ ์ธก์ •ํ•œ๊ฒƒ์ด๋‹ค. ๊ธฐ๊ณ„ ๋ฒˆ์—ญ์˜ decoding ๋‹จ๊ณ„๋Š” ํ•™์Šต๋‹จ๊ณ„์™€ ๋‹ฌ๋ฆฌ beam search๋ผ๊ณ  ๋ถ€๋ฅด๋Š” '๊ฐ€๋Šฅํ•œ ํƒ์ƒ‰๋ฃจํŠธ์—์„œ ์ตœ์ ์˜ ๋ฃจํŠธ๋ฅผ ์ฐพ์•„๋‚ด๋Š” ํƒ์ƒ‰๊ณผ์ •'์ด ํ•„์š”ํ•œ์ง€๋ผ GPU์—์„œ๋งŒ ๋Œ๋ฆด์ˆ˜๋Š” ์—†๊ณ  (GPU๋Š” CPU์™€ ๋‹ฌ๋ฆฌ ํƒ์ƒ‰๊ณผ ๊ฐ™์€ ๋ฒ”์šฉ์ฒ˜๋ฆฌ์— ๊ต‰์žฅํžˆ ์•ฝํ•˜์—ฌ ๋ณดํ†ต CPU๊ฐ€ ๋‹ด๋‹นํ•œ๋‹ค.) CPU์™€ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›์œผ๋ฉด์„œ ์ฒ˜๋ฆฌํ•ด์•ผ ํ•˜๋Š”๋ฐ ๋ฌธ์ œ๋Š” pci-e ๋ฒ„์Šค์—์„œ ์ƒ๊ธฐ๋Š” latency๊ฐ€ ๋„ˆ๋ฌด ๊ธธ์–ด GPU์˜ ์žฅ์ ์ธ ๋น ๋ฅธ ๋ณ‘๋ ฌ์ฒ˜๋ฆฌ์†๋„๋ฅผ ์ƒ์‡„ํ•œ๋‹ค๋Š”๊ฒƒ์ด๋‹ค. ์š”๋ฆฌ์‚ฌ๊ฐ€ ์•„๋ฌด๋ฆฌ ๋นจ๋ฆฌ ์š”๋ฆฌ๋ฅผ ๋งŒ๋“ค์–ด๋‚ด๋„ ๋ฐฐ๋‹ฌ์—์„œ ์‹œ๊ฐ„์ด ์˜ค๋ž˜๊ฑธ๋ฆฌ๋ฉด ๊ฝ์ด๋ผ๋Š”๊ฑธ ์ƒ๊ฐํ•ด๋ณด์ž. TPU๋„ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ CPU์— ํƒ์ƒ‰์„ ์˜์กดํ•ด์•ผ ํ•˜์ง€๋งŒ ๊ตฌ๊ธ€์—์„œ๋Š” latency ๋ฌธ์ œ๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ํ•ด๊ฒฐํ•œ๊ฒƒ์œผ๋กœ ๋ณด์ธ๋‹ค. (ํ˜น์ž๋Š” ๋น„๋ก TPU์˜ ๋ฉ”๋ชจ๋ฆฌ ์‹œ์Šคํ…œ์ด ๊ณต๊ฐœ๋˜์ง€ ์•Š์•˜์ง€๋งŒ CPU์™€ ๋žจ์„ ๊ณต์œ ํ•˜๋Š”๊ฒŒ ์•„๋‹Œ๊ฐ€ ์ƒ๊ฐํ•ด๋ณธ๋‹ค.) ํ•œ์ค„๋กœ ์š”์•ฝํ•˜๋ฉด CPU์™€ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ  ๋ฐ›๋Š” ํŠน์ • ์กฐ๊ฑดํ•˜์—์„œ๋Š” TPU๊ฐ€ ์••๋„์ ์œผ๋กœ ๋น ๋ฅด๋‹ค ๊ฐ€ ๋˜๊ฒ ๋‹ค. ๋ฌผ๋ก  ์ ˆ๋Œ€์ ์ธ 1:1 ์†๋„ ๋น„๊ต๊ฐ€ ์•„๋‹ˆ๋”๋ผ๋„ ์••๋„์ ์ธ ์ „์„ฑ๋น„๋ฅผ ์ž๋ž‘ํ•˜๋Š” TPU๋Š” ๋™์ผ ์ฒด์ ์˜ ๊ณต๊ฐ„์—์„œ ๋ž™์„œ๋ฒ„ ์šด์šฉ์‹œ GPU ๋Œ€๋น„ ํ›จ์”ฌ ๋งŽ์€ ์—ฐ์‚ฐ๋ ฅ์„ ์ œ๊ณตํ•œ๋‹ค. ํฅ๋ฏธ๋กœ์šด ์ ์€ ํ•ด๋‹น ๋…ผ๋ฌธ์—์„œ ๋น„๊ต๋กœ ์‚ฌ์šฉ๋œ 88 ์ฝ”์–ด... ๋“€์–ผ CPU์˜ ์†๋„๋„ GPU๋กœ decodingํ•˜๋Š”๊ฒƒ๋ณด๋‹ค ๋น ๋ฅด๋‹ค๋Š” ์ ์ด๋‹ค. ์•„๋ฌด๋ฆฌ CPU๋ผ ํ• ์ง€๋ผ๋„ 88์ฝ”์–ด๋ฉด 1TFLOPS๋ฅผ ์ƒํšŒํ•˜๋Š” ์—ฐ์‚ฐ๋ ฅ์„ ๊ฐ€์ง€๊ณ  ์žˆ๊ณ  GPU๋Š” ์›Œ๋‚™์— pci-e latency์— ์ฅ์•ฝ์ด๋ผ ์—”๋น„๋””์•„๊ฐ€ ๊ดœํžˆ PCI-E๊ฐ€ ์•„๋‹Œ NV-LINK๋ฅผ ๋ฏธ๋Š”๊ฒŒ ์•„๋‹ˆ๋‹ค.

5. ๋ฒ„์ „[ํŽธ์ง‘]

  • TPU 1.0
    Google I/O 2016์—์„œ ์†Œ๊ฐœ๋˜์—ˆ๋‹ค. Norm Jouppi์— ๋”ฐ๋ฅด๋ฉด ๋‰ด๋Ÿด ๋„คํŠธ์›Œํฌ ์—ฐ์‚ฐ์— ๋Œ€ํ•ด TPU๋Š” ์ตœ์‹  CPU๋ฐ GPU๋ณด๋‹ค 15~30๋ฐฐ ๋น ๋ฅด๋ฉฐ, ์ „์„ฑ๋น„๋Š” 30~80๋ฐฐ ํ–ฅ์ƒ๋˜์—ˆ๋‹ค๊ณ  ํ•œ๋‹ค.
  • TPU 2.0
    2017๋…„ 12์›” ์ดˆ, Jeff Dean ๊ณผ Chris Ying์— ์˜ํ•ด ๋ฐœํ‘œ๋˜์—ˆ๋‹ค. ๊ตฌ๊ธ€์˜ ๋จธ์‹ ๋Ÿฌ๋‹ ์‹œ์Šคํ…œ ์›Œํฌ์ƒต์—์„œ ์„ค๋ช…๋œ ๋ฐ”์— ๋”ฐ๋ฅด๋ฉด, TPU 2.0์€ 600 GB/S์˜ ๋ฉ”๋ชจ๋ฆฌ ๋Œ€์—ญํญ๊ณผ ์ตœ๋Œ€์„ฑ๋Šฅ 45 TFLOPS์˜ ์นฉ 4๊ฐœ๋ฅผ ์—ฐ๊ฒฐํ•ด ์ตœ๋Œ€ 180 TFLOPS์˜ ์„ฑ๋Šฅ์„ ๋ฐœํœ˜ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • TPU 3.0
    2018๋…„ 5์›” ์ดˆ, ์ˆœ๋‹ค๋ฅด ํ”ผ์ฐจ์ด๋Š” Google I/O ๊ฐœ๋ฐœ์ž ์ปจํผ๋Ÿฐ์Šค ๊ธฐ์กฐ ์—ฐ์„ค์—์„œ TPU์˜ 3๋ฒˆ์งธ ๋ฒ„์ „์„ ๊ณต๊ฐœํ•˜์˜€๋‹ค. ์ด์ „์ œํ’ˆ๋ณด๋‹ค 8๋ฐฐ ๋นจ๋ผ์กŒ์œผ๋ฉฐ, ์ˆ˜๋žญ์‹์œผ๋กœ ๋ƒ‰๊ฐ๋œ๋‹ค. TPU 3.0์˜ ํฌ๋“œ๋Š” 100 PFLOPS ์ด์ƒ์˜ ์„ฑ๋Šฅ์„ ๋‚ผ ์ˆ˜ ์žˆ๋‹ค๊ณ  ์ฃผ์žฅํ•œ๋‹ค.
  • TPU 4.0
    ํ–ฅํ›„ ๊ณต๊ฐœ๋ ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒ๋˜๋Š” TPU.
  • EDGE TPU
    ์†Œํ˜•, ์ €์ „๋ ฅ ํ”Œ๋žซํผ์šฉ ML๊ฐ€์†๊ธฐ. ํ…์„œํ”Œ๋กœ์šฐ ๋ผ์ดํŠธ์™€ ๊ฐ™์ด ์‚ฌ์šฉํ• ์ˆ˜ ์žˆ์œผ๋ฉฐ ๋ฐ์ดํ„ฐ์„ผํ„ฐ ์šฉ์ด ์•„๋‹Œ ์ผ๋ฐ˜ ์ƒ์šฉ์ œํ’ˆ์œผ๋กœ ํ˜„์žฌ ์†Œ๋น„์ž๊ฐ€ ๊ตฌํ• ์ˆ˜ ์žˆ๋Š” ์œ ์ผํ•œ ๊ตฌ๊ธ€์ œ TPU์ œํ’ˆ์ด๋‹ค.

6. ๊ด€๋ จ ๋ฌธ์„œ[ํŽธ์ง‘]

[1] ๋‹น์—ฐํ•œ ์ด์•ผ๊ธฐ์ง€๋งŒ, ๊ฐ™์€ ๋น„ํŠธ๋ผ๋„ ์ •์ˆ˜ ์—ฐ์‚ฐ์ด ๋ถ€๋™ ์†Œ์ˆ˜์  ์—ฐ์‚ฐ๋ณด๋‹ค ๋” ๋น ๋ฅด๋‹ค. ํ•˜๋“œ์›จ์–ด์˜ ๊ตฌํ˜„๋„ ์ •์ˆ˜ ์—ฐ์‚ฐ์ด ๋” ์‰ฌ์šฐ๋‹ˆ ๊ฐ€์„ฑ๋น„๊ฐ€ ์žˆ๋‹ค.
[2] ๊ตฌ๊ธ€๊ณผ ๊ด€๊ณ„๋œ ํšŒ์‚ฌ์—์„œ ์ œํ’ˆํ™” ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ณดํ†ต ๊ตฌ๊ธ€ ์ฝ”๋ž„ ๋ณด๋“œ๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค
[3] ํ˜„์žฌ ํ•ด์™ธ์ง๊ตฌ ์‹œ 480๋งŒ์›
[4] TESLA K80์€ GTX780์˜ ์‚ฌ์ดŒ๋ป˜ ๋˜๋Š” ์นฉ์…‹์„ ์‚ฌ์šฉํ•œ ์นด๋“œ์ด๋ฉฐ ํด๋Ÿญ์ด ๋ชน์‹œ ๋‚ฎ์•„์ ธ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ถ€๋™์†Œ์ˆ˜์  ์„ฑ๋Šฅ ์ž์ฒด๋Š” AMD FURY X, GTX1070๊ณผ ๋น„์Šทํ•œ ์ˆ˜์ค€์ด๋‹ค.