brunch

병렬토끼와 순차거북이_1,2,3편

나는 궁금하면 못 참아요 시리즈

by 박정수
Copilot_20250711_190400.png

저는 지금까지의 제 글을 포함한, 인테넷 등에서 얻은 컴퓨터와 관련한 정보전달이, 요즘 컴퓨터에 관심이 많은 초등학생 등 초보자들에게 많이 어려울 것으로 생각되어, 동화처럼 짧고 쉽고 재미있게 준비를 했어요. "AI협업 큐레이터"가 뭔가 다른 글을 찾고 있죠?


저와 COPILOP이 다룰 내용은 10편의 단막글입니다.

그림10.png


� [1화: 병렬 토끼와 순차 거북이의 반복 여행]

옛날 옛날, 한 컴퓨터 마을에 토끼와 거북이가 살고 있었어요.

� 거북이는 아주 똑똑하고 정리 잘하는 순서형 일꾼이에요. “나는 한 번에 하나씩, 차근차근 일할래.” 그래서 거북이는 10000개의 블록을 하루 종일, 하나하나 정리했어요.

� 토끼는 단순하지만 손이 빠르고 친구가 많아요. “나는 100명이랑 같이 동시에 하면 금방 끝날 수 있어!” 그래서 토끼는 친구들과 함께 10000개의 블록을 한 번에 나눠서 정리했어요.

둘은 같은 일을 했지만, 토끼는 병렬(computing), 거북이는 순차(loop) 방식으로 처리했답니다!

� for loop는 뭐예요?

컴퓨터에 이렇게 말하는 거예요:

python

for i in range(10000):

"반복작업 중"

print("한 번 처리했어요!")

이 코드는 10000번 반복해서 일을 하라는 의미예요. 거북이는 이걸 혼자서 차례로 만 번을 해요. 토끼는 이걸 10 명이 한꺼번에 나눠서 해요.

그림11.png


� [2화: 코어란 무엇인가요? 토끼와 거북이의 작업장 이야기]

Copilot_20250711_185228.png

병렬 토끼와 순차 거북이는 어느 날 컴퓨터 속으로 여행을 떠났어요. 그들이 도착한 곳은 “코어 마을”! 이곳은 일꾼들이 살면서 컴퓨터 일을 처리하는 장소예요.

� 거북이 마을 (CPU 마을)

거북이 마을에는 24명의 똑똑한 일꾼이 있어요.

각자 생각하고 판단하면서 하나씩 차례로 일을 처리해요.

같은 문제를 한 사람씩 반복해서 푸는 방식이에요. python for i in range(10000): print("한 번 처리했어요!")

� 토끼 마을 (GPU 마을)

토끼 마을에는 16,000명 이상의 간단한 작업자들이 살아요!

한 명이 판단하진 않지만, 같은 일을 수천 명이 동시에 처리해요.

반복 작업을 나누니까 시간이 훨~씬 줄어요.

⏱️ 반복 처리 속도 비교: 10000개의 사과 자르기 작업

그림12.png

�️ 새로운 개념: "코어"와 "스레드"

코어는 일꾼 한 명이예요—이 사람이 연산을 직접 처리해요.

스레드는 코어의 작은 팔—하나의 코어가 여러 스레드를 가질 수 있어요.

예: i9 CPU는 8 코어 16 스레드일 수도 있어요. (코어 8개 × 2 팔씩)



� [3화: 병렬 AI, 토끼가 학습을 시작하다]

어느 날, 컴퓨터 마을에 “AI 훈련장”이 생겼어요! 토끼와 거북이는 그곳에서 AI 모델에게 공부를 시키는 연습을 하게 되었죠.

� 순차 거북이 방식: 하나씩 차근차근 훈련

AI 모델에게 수학 문제 1만 개를 가르쳐야 했어요.

거북이는 1개씩 순서대로 반복해서 알려줬어요.

너무 느려서, 모델은 훈련을 마치기까지 며칠이 걸렸죠...


python

for i in range(10000): 모델에게_문제_1개_가르치기()


� 병렬 토끼 방식: 친구들이랑 같이 훈련

토끼는 친구 10000명이랑 함께, 각자 문제 하나씩 나눠서 가르쳤어요!

모델은 금방 수많은 문제를 배울 수 있었고, 몇 분 만에 훈련을 마쳤죠.

� 실제 AI 훈련에서는 GPU가 왜 필요할까요?

AI 모델은 수많은 예제를 반복해서 배우는 “학습”이라는 과정을 겪어요. 이 과정에서 수천~수만 번의 반복(for loop)이 필요해요.

그림13.png


keyword
매거진의 이전글SVD를 이용한 PIXCEL이미지 복원