This blog is about country life of myself; raising kitchen garden, star gazing, studying math., HAM Radio, homebrewing electronics. You can visit my other blog "Teaching with Fun" about Semiconductor Design. Postings on this blog are written in Korean. Foreign visitors can read through Google's translation service. AI translation is sometimes IDIOT. ;-)
거의 1년만에 "양평집" 월기를 씁니다. 이 블로그를 방문 했다면 대충 조금 바빴다는 핑계가 이해될지도 모르겠습니다. 아무리 그랬다고 해도 달력에 기록해 두는 일상을 스캔할 시간 정도는 있잖아요?
한류가 지구촌을 휩쓸고 있다고 하는데 사실인가봅니다. 해외에 나가본지, 외국인을 만나본지도 오래되서 실감을 하지는 못하지만 한글로 작성되는 이 블로그 방문객의 나라별 분포가 이상합니다. 어쩌다가 외국의 검색에 노출된 모양인데 한글을 자동 번역으로 읽나요? 아니면 해외 동포들일까요?
그냥 사진 만이라도 월기로 올려놓기로 합니다. "양평집"의 3월의 마당 입니다. 가장 먼저 봄을 알리는 크로커스와 민들레,
"인공지능 반도체(또는 AI 칩)"은 인공지능 알고리즘을 "효율적"으로 처리하는 칩(GPU, NPU, ASIC 등)이다. 범용 CPU에서도 인공지능 알고리즘의 수행이 물론 가능하다. 다만 AI 칩이라고 따로 분류하는 이유는 인공지능 알고리즘의 엄청난 량의 곱셈과 덧셈을 "효율적"으로 수행하는 것에 주안점을 두었기 때문이다.
범용 CPU가 미리 정해둔 규칙을 기반(Rule-Based)으로 IF~THEN~ELSE 방식의 알고리즘 처리에 적합하다면 AI 프로세서는 스스로 규칙을 만들기 위해 엄청난 계산을 한다. 범용 CPU로 인공지능 알고리즘을 수행하면 메모리에서 명령을 읽어 그 뜻을 해독하고 계산에 필요한 값을 불러와 계산하고 다시 그 값을 메모리에 저장하는 일을 수없이 반복한다. 명령중 정작 인공지능을 위한 계산 비중은 매우 낮다. 이에 비해 AI 칩은 범용 CPU의 ALU(Arithmetic-Logical Unit) 대신 단번에 곱셈과 덧셈(Multiplication-Accumulation)을 반복 계산하는 전용의 산술 장치를 가지고 있다. 당연히 명령을 해석하고 이에 맞춰 값을 불러오고 저장하는데 클럭을 소모하지 않는다. 따라서 AI 칩은 적은 클럭을 들이고도 방대한 계산을 할 수 있는 "효율적"인 반도체다. 게다가 자료의 교차 의존이 거의 없는 인공지능 알고리즘의 특성 상 대규모 연산기를 동원한 병렬처리 구조를 취하기 매우 적합하다. 반도체 칩의 집적도가 폭발해 버린 지금 연산장치의 갯수는 얼마든지 늘릴 수 있다. 일상의 인식체계(패러다임)가 경직된 규칙 기반의 알고리즘에서 유연한 인공지능으로 전환되어 버린 지금 반도체의 화두는 "AI"의 지배가 더욱 공고해질 것은 자명하다.
인공지능의 유연성에 하드웨어의 경직성이 대응하는 방안은 명령처리 방식의 프로세서다. 인공지능 프로세서는 매우 특회된 몇가지 산술명령을 가지고 고용량 메모리를 곁에 두고 있다. 대부분 인공지능 개발자들이 전용 프로세서의 소프트웨어에 집중되어 있는 것을 본다. GPU, NPU 등 프로세서가 지배적인 "AI 칩"에 FPGA의 미래가 있을까?
구조 재편이 가능한 FPGA는 하드웨어의 유연화 방안으로 주목받고 있다. 아예 명령어 자체를 두지 않는 알고리즘 전용의 계산기(하드웨어)를 구성 할 수 있다. 따라서 알고리즘에 소요될 클럭의 수를 극단적으로 줄일 수 있다. 클럭은 곧 에너지 소모를 의미한다. 특히 일방적인 계산을 반복하는 "추론(inference)"에 재구성 가능한 FPGA의 미래가 있다.
아래 동영상은 인공지능 알고리즘에 맞춰 FPGA의 구조가 어떻게 변화되고 있는지 설명한다. 순차적인 알고리즘을 병렬처리 하드웨어를 목표로 기술하기는 소프트웨어에 비하면 매우 어렵다. 하드웨어 설계 생산성을 높이기 위해 기존의 프로그래밍 언어로 기술된 알고리즘을 직접 하드웨어로 합성하는 설계방법론이 이미 성숙되었음을 보여 준다.
정부는 국산 AI 반도체의 설계와 생산을 지원하는 이른바 'K-엔비디아' 육성 프로젝트를 추진 중이라고 합니다. 국민성장펀드를 활용해 K-엔비디아 프로젝트에 5년간 50조 규모의 대규모 자금을 투입할 계획 이라면서 17일 민관 합동 간담회를 가졌다는 소식입니다. 이 간담회에 금융 위원회와 과학기술 정통부 장관이 참석했다고 합니다. 금융 위원회의 정책 발표라는 것이 좀 특이 합니다.
이 소식을 접하면서 30년전 메모리 반도체에서 "시스템 반도체"를 해야 한다고 부산을 떨던 기억이 떠오릅니다. "한국형 닌텐도"라는 해프닝도 기억 합니다.
학생들의 설계를 무료로 칩(반도체 부품)으로 제작해 주는 "내 칩 제작 서비스"를 시행한지 벌써 3년째를 맞이하고 있습니다. 이 사업에 참여 하면서 가장 많이 듣는 느낌은 우리의 반도체 교육이 소자와 공정에 치우쳐 있다는 것입니다. ARM 에 맞서 한국형 CPU를 가져야 한다며 상당한 투자를 하던 그때는 설계 교육이 활발 했었습니다. 크린 룸(반도체 제조시설)을 갖추기가 쉽지 않아서 그랬는지 당장 해볼 수 있는 반도체가 "설계"였을 지도 모릅니다. 각 대학마다 "베릴로그"니 "VHDL" 이니 하면서 설계 과목이 빠지지 않았었습니다. 요즘 "내 칩 MPW"를 홍보하면서 만나는 관계자(?)들의 말을 빌면 학생들이 "설계"를 너무나 어려워 한답니다. 그 이유로 대학의 교과에 소위 "설계"가 없기 때문이라는데 지난 30년간 반도체 공장을 짖느라, 크린 룸 첨단화 하느라 "설계"가 부족 했다고 합니다. 이를 가르칠 전공자 양성도 등한시 되어 지방의 대학에서는 "디지털 설계"를 가르칠 교원이 부족하다는 말을 합니다.
인공지능 반도체는 디지털 설계의 집합체 입니다. 소규모 디지털 계산기를 거대하게 묶은 프로세서 입니다. 다양한 이유로 디지털 계산기를 "소자"로 해결해 보려는 연구와 노력이 있지만 실효성이 별로 없는지 "엔비디아"는 여전히 대규모 디지털 계산기 입니다. 인공지능 반도체의 골든 타임을 놓치지 않기 위해 시행 된다는 'K-엔비디아' 프로젝트가 남의 칩을 사용하는 AI와 반도체 공장에 큰 혜택이 가겠지만 "반도체 설계"에도 한 몫 돌아가길 기대 합니다.
반도체 설계 인력 양성의 한 축을 담당하고 있는 "내 칩 MPW" 제조 공장의 과제에 더이상 "노후 장비"라는 말이 나오지 않길 바랍니다. 학생들이 설계한 "내 칩"이 안정적으로 제조되길 바랍니다. "소프트웨어" 코딩 만큼이나 "반도체 설계"도 다르지 않게 받아들일 수 있길 바랍니다. 반도체 설계 교육을 받는 학생들이 지루하지 않길 바랍니다. 오롯이 내가 설계한 반도체 IC를 써서 기계 부품을 움직이고 소리를 내고 반짝이는 모습을 보면 그 감동은 평생 잊지못한 기억이 될 것입니다. 우리가 정보통신 강국이 되었던 요인에 컴퓨터 실습실에서 내 무릅 위로 옮겨온 "노트북"이 큰 기여를 했듯이 반도체 설계 실습 "장비"가 학교 실험실에서 묶여있지 않길 바랍니다. 오픈-소스 EDA(소프트웨어 및 하드웨어)를 활용하면 반도체 설계 "도구"를 내 책상위에 꾸미는데 큰 비용이 들지 않습니다. 정보통신 학과 입학생에게 "노트북"을 제공 했듯이 "반도체"를 설계하려는 모든 학생들에게 개발 "장비"를 사줄 수 있길 기대합니다.
"적을 알고 나를 알면 백전백승"이라고 합니다. 기왕 "K-엔비디아"를 목표로 삼은 참에 GPU 가 어떤 물건인지 알아봅시다.
전기전자공학과 AI 반도체가 세상을 지배하는 듯이 굴지만 결국은 "물리" 인공지능의 종결자는 기계공학입니다.
https://youtu.be/O8txvk5m6VM?si=93CFIpKV-V_8uITy
이 유튜버는 작은 스팀 엔진을 만들기 위해 현미경을 보며 쇠를 깍고 연마 합니다. 그도 전자 계산기의제어 도움을 받는 CNC나 3D 프린터가 효과적일 수 있다는 점은 알고 있지만 굳이 손수 선반(lathe)과 밀링(milling)기를 사용하는 이유가 있다고 합니다. 3D 프린터는 숙련 기술자의 손을 따라갈 만큼 정밀하지 않고 거창한 CNC 장비는 "적정" 하지 않습니다. CNC 대신 작은 부품을 가공하기 위해 펜토그래프를 활용하고 있습니다.
각고 끝에 만든 작은 엔진은 잘 작동합니다. 작지만 흡기와 배기 사이의 운동을 이어주기 위한 플라이 휠이 제역활을 합니다. 작은 엔진이 고유의 운동 주파수(진동 주기)를 가지고 있어서 고속으로 돌리면 동조 현상이 있어서 진동이 격렬해 집니다. 흡배기 직선 운동이 회전운동으로 전달되어야 하는데 고유 진동수 증폭으로 소모되면 곤란하겠습니다. 실시간 진동을 퓨리에 변환으로 측정해보니 약 700 헤르츠에서 최고치가 나왔습니다. 이 진동수를 피하는 대책을 세울 것 이라고 합니다.
시간 상의 진동 현상을 주파수 축으로 변환하여 분석하는 기법은 공학의 다양한 분야에서 활용됩니다. "내 칩" 디자인 킷 예제에 FIR 필터를 설계하면서 특성을 분석하기 위해 퓨리에 변환 기법을 사용하고 있습니다.