일요일, 5월 17, 2026

내 신경망 만들기(Making My Own Neural Network)

내 신경망 만들기(Making My Own Neural Network)

온 세상이 "인공지능"으로 가득 합니다. "Make your own Neural Network" 은 인공지능의 시작이라고 하는 "신경망"을 쉽게 설명한 책입니다. 이 책은 한글 번역판도 있는데 부제에서 말한 "수포자도 이해하는 신경망 동작 원리와 딥러닝 기초"라는 문구에 동감할 만 합니다.


Make Your Own Neural Network                    신경망 첫걸음

1부와 2부로 나눠진 이 책은 1부에서 신경망의 작동 원리를 곱셈과 덧셈 만으로 설명합니다. 약간의 고등 수학 '처럼' 보이는 부분이 가미되어 있지만 1차 방정식과 인수분해 만으로도 충분히 이해할 수 있는 수준입니다. 2부는 '파이썬(Python)'으로 내 신경망을 제작 합니다. "DIY with Python"라는 장 제목부터 남다릅니다. '파이썬'이라는 컴퓨팅 언어를 모르는 입문자를 배려하여 "아주 부드럽게 시작(A Very Gentle Start with Python)"합니다. 1부가 '수포자' 였다면 2부는 '컴포자(컴퓨팅 언어를 포기한 자)'를 대상으로 쓰였다고 해줄 만 합니다. 텐서플로우니 파이토치니 하는 매우 추상적인 패키지(라이브러리)들을 사용하지 않고도 가장 기본적인 numpy, matplotlib 만 사용하여 MNIST 라는 손글씨 숫자 영상 인식을 수행하는 "내 신경망"을 충분히 코딩하고 실행할 수 있음을 보여주고 있습니다.

다만 '수포자', '컴포자'의 입문서 치고 두께가 만만치 않아서 요약글을 준비했습니다.

내 신경망 만들기(Making My Own Neural Network)
https://fun-teaching-goodkook.blogspot.com/2026/05/blog-post.html

원서의 제목을 빌어 "내 신경망(My Own Neural Network)" 제작이 목표입니다. "파이썬" 뿐만 아니라 C++ 언어로도 작성 했습니다. 파이썬과 C++ 언어를 공부하면서 학습 예제로도 유용할 것입니다. 소스 코드는 "내 칩 디자인 킷"의 깃허브 저장소에 올려 놓았습니다.

https://github.com/GoodKook/ETRI-0.5um-CMOS-MPW-Std-Cell-DK/tree/main/Projects/MYONN

----------------------------------
오픈-소스 "내 칩" 디자인 킷 사용자 그룹(Open-Source My-Chip Design Kit User Group)
https://groups.google.com/g/mychip-on-mydesk


화요일, 5월 12, 2026

"아집" 이라는 나잇살을 경계한다.

"아집" 이라는 나잇살을 경계한다.

"지적"과 "훈계"는 나이 들어가며 느는 것 같다. 안 그럴려고 하는데도 내 태도에서 잔뜩 묻어 나오나 보다. 상대가 이해하고 받아주는 경우 그나마 다행이 아닐 수 없다.  "지적"을 애써 "조언"이라고 우겨본다. "아집"은 조언을 "지적질"이 되게한다. "인공지능(사실은 검색)"은 "아집"을 이렇게 설명한다. 

아집(我執)은 자기중심적인 좁은 생각에 사로잡혀, 다른 사람의 의견이나 입장을 무시하고 자기만을 내세우는 고집을 뜻합니다.

최근 아집을 부릴뻔 했다. "인공지능"이라는 최신 신기술을 접하면서 '아~ 그거 신경망 아냐?' 라며 옛날에 다 해봤던 것이라고 치부해 버렸었다. 학생들에게 한수 가르칠 생각에 찾아본 입문서 "Make Your Own Neural Network"를 처음 발견하고는 이론따위 대충 넘겼다. 이 책의 2부에 "파이썬"이라는 컴퓨팅 언어로 신경망을 구현해 놨길래 앞의 이론은 다 아는 것인 양 키보드 부터 두드렸다. 저자가 소스 코드(파이썬으로 작성된)를 모두 깃허브 저장소에 올려 놨으니 어렵지 않게 신경망을 내 컴퓨터에서 작동 시킬 수 있었다. 그런데, '이게 내것 맞아?' 책 제목에 'Your Own' 이라지만 '그의 것'이라는 찜찜함을 떨칠 수 없다. 더구나 '파이썬'은 너무나 추상성이 높아서 단 몇줄로 인공지능 반도체의 핵심이라는 '곱셈 합(행렬 내적)'을 단번에 해치운다. 그가 2부 첫머리에 이렇게 써놨다.

"To Really understanding, you need to make it yourself"

'다 아는 것'이라는 '아집'을 떨쳐 버려야 할것 같았다. '내 것'으로 만들어 보기로 한다. 나는 '파이썬'보다는 'C++' 인간이다. 그의 파이썬 신경망을 나의 C++ 로 바꾸기로 하고 이 책의 첫장부터 다시 읽고(서너번은 정독한 듯하다) 기억 깊숙히 잠겨있던 행렬 내적이니 지수 함수 미분이니 하는 것들을 들춰내 나의 언어로 작성했다. 비로서 '나의 신경망'이 되었다.

    https://github.com/GoodKook/ETRI-0.5um-CMOS-MPW-Std-Cell-DK/tree/main/Projects/MYONN

'내것'으로 이리저리 시험해 보고 나서야 비로서 유튜브에 올려져 있는 수많은 동영상들을 '거의' 완벽하게 이해할 수 있게 됐다. 어떤 것들은 내용을 '지적'할 수 있게 됐다. 내 것을 가진 자의 뿌듣함이 아닐 수 없다. 다시한번 그간 해온 연륜이 있다며 "아집"에 빠지지 말아야 겠다고 다짐해본다.


화요일, 5월 05, 2026

AI 에이전트가 RISC-V CPU 코어를 처음부터 설계합니다.

칩 설계에 인공지능이 활용되고 있다는 이야기는 진즉부터 있었습니다. 그런데 어느 부분에 인공지능이 적용되는지 궁금했던 차에 IEEE Spectrum 에 이와 관련하여 여러 기사가 실렸더군요.

"내 칩 제작 서비스"의 MPW를 통해 내 칩을 제작하려고 오픈-소스 반도체 설계 도구(EDA Tools)를 활용하여 "내 칩 디지털 디자인 킷"을 마련하고 몇가지 RTL 베릴로그 예제를 만들었습니다. 베릴로그를 합성하고 표준 셀 배치와 배선을 거쳐 GDS를 만들어 성공적으로 작동하는 "내 칩"을 제작할 수 있었습니다. 설계 자동화 도구를 사용 하면서 '오픈-소스' 도구들이 내놓은 결과물들을 보며 상용도구에 못지 않다는 감탄을 자아내기도 했습니다. 물론 대규모 설계에 대해 한계가 있을 것이고 상용 도구에 비하면 '오픈-소스'의 도구가 이르지 못하는 점도 많습니다. 특히 타이밍 클로져(Timing Closure)를 제대로 맞추지 못하고 있는 점은 분명해 보입니다. 최근 오픈-소스 베릴로그 합성기 Yosys에서도 업계 표준으로 받아 들이는 시높시스 디자인 컨스트레인트 SDC를 이제 막 수용하기 시작한 점은 그나마 다행입니다. 합성으로 얻은 네트리스트를 가지고 표준 셀의 배치는 레이아웃의 품질을 결정하는 중요한 요소 입니다. 

"내 칩 디자인 킷" 예제중 FIR_PE는 표준 셀이 1천여개에 불과한 소규모 설계 입니다. 자동 배선을 해놓은 레이아웃을 보면 간혹 바보같아 보이는 배선(터무니 없이 길거나 바로 이웃한 지점 사이의 배선을 이리저리 돌리거나)을 발견하곤 합니다. 배선 이전에 배치가 최적화 되지 않은 탓일 겁니다. 또는 설계자의 배치 옵션이 무리했을 수도 있습니다. 천여개에 이르는 부품들 사이의 수만에 이르는 배선을 하려면 '바보 같더라도' 자동화는 피할 수 없습니다. 일부 지엽적인 '바보 스러움'이 발견 되긴 하지만 인간으로서는 해낼 수 있는 일이 아니기 때문입니다. 이 '배치의 자동화'에 인공지능이 깊이 개입되어 있습니다. 아래의 기사를 읽어 보시길 권합니다. 자동 배치에 인공지능을 적용한 결과에 논란이 있었다고 합니다. 인공지능 만의 결과로 보이지 않는 다는 것입니다. 논의야 어땠든 이 기사를 읽으면서 반도체 설계 도구들과 방법론에 연구할 일이 아주 많다는 생각을 하게 됩니다.

Ending an Ugly Chapter in Chip Design
https://spectrum.ieee.org/chip-design-controversy

배치와 배선보다 훨씬 높은 추상화 수준의 설계자동화 기사도 눈에 띕니다. 단지 최적의 배치를 생성하는데 그치지 않고 전문가 수준의 조언까지 제공하는 AI 에이전트 까지 동원되었고 합니다. Verkor 라는 스타트업이 만든 AI 에이전트는 CPU를 묘사한 단 129 단어로부터 완벽한 RISC-V 를 설계하고 GDS 까지 생성할 수 있었답니다.

AI Agent Designs a RISC-V CPU Core From Scratch
Startup Verkor.io’s agentic AI orchestrated the entire design process from a 219-word prompt

AI 에이전트가 RISC-V CPU 코어를 처음부터 설계합니다. 스타트업 Verkor.io의 인공지능 에이전트는 219단어로 된 프롬프트를 바탕으로 전체 디자인 프로세스를 진행했습니다.

https://spectrum.ieee.org/ai-chip-design

이 기사의 연관 기사들(케이던스, 시높시스 등 상용 도구 제작사들의 인공지능 활용)도 함께 읽어보면 아주 흥미롭습니다. "내 칩 제작 서비스"를 통해 할 수 있는 설계가 비록 작고 보잘 것 없어 보이지만 이를 통해 세상의 변화를 읽고 안목을 넓히는 계기가 되길 바랍니다.