처리중입니다. 잠시만 기다려주세요.
TTJ 코딩클래스
정규반 단과 자료실 테크 뉴스 코딩 퀴즈
테크 뉴스
Hacker News 2026.07.31 45

브라우저에서 포커를 '푼다'고요? WebGPU 커스텀 커널로 만든 포커 솔버 이야기

Hacker News 원문 보기
브라우저에서 포커를 '푼다'고요? WebGPU 커스텀 커널로 만든 포커 솔버 이야기

포커를 "푼다"는 게 무슨 말일까요

포커 솔버(solver)를 브라우저에서 돌아가는 WebGPU 커스텀 커널로 직접 구현한 개발기가 올라왔는데요. "포커를 푼다(solve)"는 표현부터 낯설 수 있으니 거기서 시작할게요.

포커는 체스나 바둑과 결정적으로 다른 점이 있어요. 상대의 패를 볼 수 없는 '불완전 정보 게임'이라는 거예요. 그래서 "이 상황에선 무조건 이 수가 정답"이라는 게 없고, 최적 전략이 확률의 형태로 나와요. 예를 들면 "이 패로는 70%는 베팅하고 30%는 체크해라" 같은 식이죠. 이렇게 상대가 어떤 전략을 들고 와도 장기적으로 손해 보지 않는 전략을 게임이론에서는 내시 균형이라고 부르고, 포커판에서는 GTO(Game Theory Optimal) 전략이라고 불러요. 솔버는 바로 이 균형 전략을 계산해주는 프로그램이에요.

계산 방법의 표준은 CFR(Counterfactual Regret Minimization, 반사실적 후회 최소화)라는 알고리즘이에요. 이름이 무시무시한데 아이디어는 직관적이에요. 게임을 수없이 반복 시뮬레이션하면서, 매 판마다 "아까 다르게 쳤으면 얼마나 더 벌었을까"라는 후회값을 계산하고, 후회가 컸던 선택의 비중을 조금씩 늘려가는 거예요. 이걸 수백만 번 반복하면 전략이 균형점으로 수렴해요. 인간 최고수들을 이긴 포커 AI들도 이 계열의 알고리즘을 썼고요.

왜 GPU고, 왜 하필 WebGPU인가요

문제는 계산량이에요. 텍사스 홀덤에서 두 장으로 만들 수 있는 시작 핸드 조합만 1,326가지고, 여기에 공유 카드가 깔리는 경우의 수까지 곱해지면 게임 트리가 어마어마하게 커져요. 그런데 CFR의 반복 계산은 구조가 좋아요. 수많은 핸드 조합에 대해 같은 연산을 독립적으로 수행하는 형태라서, 수천 개의 코어로 동시에 계산하는 GPU 병렬화에 딱 맞거든요.

여기서 WebGPU가 등장해요. 이게 뭐냐면, 브라우저에서 GPU로 범용 연산을 할 수 있게 해주는 비교적 새로운 웹 표준이에요. 기존의 WebGL은 이름 그대로 그래픽을 그리는 용도라서, 일반 계산을 시키려면 데이터를 텍스처(이미지)에 욱여넣는 꼼수를 써야 했는데요. WebGPU는 컴퓨트 셰이더, 그러니까 화면에 뭘 그리는 게 아니라 순수하게 계산만 하는 GPU 프로그램을 정식으로 지원해요. WGSL이라는 전용 언어로 커널(GPU에서 실행되는 작은 프로그램)을 짜면, 설치 없이 브라우저에서 네이티브에 준하는 병렬 연산을 돌릴 수 있는 거죠.

이 글의 재미있는 점은 범용 라이브러리를 쓰지 않고 포커 문제의 구조에 맞춘 커스텀 커널을 직접 짰다는 거예요. GPU 프로그래밍의 승부처는 결국 메모리거든요. 게임 트리와 전략 테이블을 GPU 메모리에 어떻게 배치할지, 수천 개의 스레드가 데이터를 얼마나 효율적으로 읽게 할지를 문제 구조에 맞게 설계하는 게 성능을 좌우해요. 이런 최적화는 범용 프레임워크가 대신 해줄 수 없는 영역이라, 커널을 직접 짜는 수고가 곧 성능이 되는 거예요.

업계 맥락: 브라우저가 고성능 컴퓨팅 플랫폼이 되는 중이에요

기존 상용 솔버들(PioSOLVER, GTO Wizard 같은)은 네이티브 프로그램이거나 서버에서 계산해서 결과만 보여주는 방식이에요. 반면 브라우저에서 직접 계산이 돌면 설치도, 서버 비용도 필요 없어지죠. 그리고 이건 포커만의 이야기가 아니에요. WebLLM처럼 브라우저에서 LLM 추론을 돌리는 프로젝트, transformers.js 같은 브라우저 머신러닝 라이브러리가 모두 WebGPU 위에서 크고 있거든요. 크롬에 이어 사파리까지 지원에 합류하면서, "무거운 계산은 네이티브 앱에서만 한다"는 오랜 상식이 흔들리고 있는 거예요.

한국 개발자에게 주는 시사점

프론트엔드 개발자에게 WebGPU는 새로운 영역을 열어주는 기술이에요. 지금까지 GPU 프로그래밍은 CUDA를 다루는 일부 개발자의 전유물처럼 여겨졌는데, 이제 자바스크립트와 WGSL만으로 진입할 수 있게 됐거든요. 이미지·영상 처리, 물리 시뮬레이션, 대규모 데이터 시각화, 온디바이스 AI 추론처럼 "서버로 보내기엔 무겁고 CPU로 돌리기엔 느린" 작업이 있다면 WebGPU가 답이 될 수 있어요. 그리고 이 글처럼 자기가 좋아하는 도메인(게임, 퍼즐 같은)의 계산 문제를 하나 골라서 커널로 짜보는 게 사실 최고의 학습 방법이기도 해요.

마무리

한 줄 요약: CFR 같은 대규모 병렬 알고리즘이 브라우저 GPU에서 돌아가는 시대가 왔고, WebGPU는 프론트엔드 개발자에게 고성능 컴퓨팅의 문을 열어주고 있어요. 여러분이라면 WebGPU로 어떤 계산 문제를 브라우저에 올려보고 싶으세요?


🔗 출처: Hacker News

이 뉴스가 유용했나요?

이 기술을 직접 배워보세요

파이썬으로 자동화를 시작해보세요

파이썬 기초부터 자동화까지 실전 강의.

파이썬 강의 보기

"비전공 직장인인데 반년 만에 수익 파이프라인을 여러 개 만들었습니다"

실제 수강생 후기
  • 비전공자도 6개월이면 첫 수익
  • 20년 경력 개발자 직강
  • 자동화 프로그램 + 소스코드 제공

매일 AI·개발 뉴스를 받아보세요

주요 테크 뉴스를 매일 아침 이메일로 전해드립니다.

스팸 없이, 언제든 구독 취소 가능합니다.