SGAnalog, 테이프아웃된 회로로 AI를 시험하다

Tiny Tapeout 실리콘에서 모은 273개 회로로 회로도 판독과 사이징을 끝까지 평가하는 벤치마크 SGAnalog를 해설합니다.

원문 논문 보기
'SGAnalog, 테이프아웃된 회로로 AI를 시험하다' 기사 커버 이미지

이번에 다룰 논문은 SGAnalog: An End-to-End Circuit Benchmark from Open-Source Silicon Tapeouts로, arXiv 식별자 2610.03934로 공개된 연구입니다. 원문 논문은 이 글 제목 아래에 연결된 링크에서 확인할 수 있습니다. 이 연구가 내세우는 주장은 하나로 정리됩니다. 오픈소스 실리콘 테이프아웃에서 나온 사람이 설계한 회로만을 모아 회로도 판독부터 디바이스 사이징까지 설계 흐름 전체를 재현 가능한 방식으로 평가할 수 있다는 것입니다.

제가 이 논문을 처음 펼쳤을 때 마음에 걸린 것은 제목 속 End-to-End라는 표현이었습니다. 아날로그 회로 논문에서 이런 표현은 자주 과장되곤 하니까요. 그런데 내용을 따라가 보니 이 표현에는 근거가 있었습니다. 회로 그림을 보고 넷리스트를 옮겨 적는 일과, 정해진 테스트벤치 안에서 소자 크기를 골라 회로를 동작시키는 일을 하나의 컬렉션 위에서 이어서 묻고 있었기 때문입니다.

테이프아웃된 회로가 아니면 무엇을 재기 어려울까

아날로그 회로 설계를 해본 분이라면 이 고민이 낯설지 않을 겁니다. 회로는 시뮬레이션에서 동작하는 것과 실리콘에서 동작하는 것이 다르고, 교과서 예제와 사람이 밤새 고쳐가며 테이프아웃한 회로도 다릅니다. 그런데 기존 벤치마크는 이 차이를 묻기가 어려웠습니다. 익숙한 예제를 외워서 맞히는 것인지, 처음 보는 회로에서도 통하는 능력을 갖춘 것인지 가려내기 어려웠기 때문입니다.

연구진이 던진 출발점도 바로 여기였습니다. 모델이 전이 가능한 회로 능력을 배웠는지, 아니면 익숙한 예제를 떠올린 것인지 답하기 어렵다는 문제의식이었죠. 생각해보면 사람도 비슷하게 배웁니다. 교과서 문제만 풀어본 학생과, 실제로 납땜하고 측정하면서 실패를 겪은 학생은 처음 보는 회로 앞에서 다른 반응을 보이니까요.

저는 이 문제 설정이 마음에 들었습니다. 저희가 새로운 AI 아키텍처를 볼 때도 benchmark 숫자만 보지는 않습니다. 실제로 무엇이 바뀌었고, 그 변화가 시스템에서 어떤 비용 구조를 만드는지를 함께 봅니다. 같은 태도로 보면 SGAnalog의 질문은 숫자가 아니라 조건에 대한 질문입니다. 어떤 회로를, 어떤 리비전에서, 어떤 환경에서 평가할 것인가라는 질문이죠.

실제 실리콘에서 출발하면 평가가 어떻게 달라질까

SGAnalog의 답은 Tiny Tapeout 제조 셔틀과 연결된 오픈소스 회로에서 출발하는 것이었습니다. Tiny Tapeout은 작은 설계를 모아 실제 칩으로 제작하는 셔틀 프로그램이라서, 여기에 실린 회로는 시뮬레이션에서만 존재하는 예제와 성격이 다릅니다. 면적과 핀과 제출 마감이라는 제약 안에서 사람이 직접 고르고 다듬은 설계니까요.

그렇다면 이런 출처가 평가를 어떻게 바꿀까요. 첫째로 회로가 저마다 다른 사연을 갖게 됩니다. 누군가는 센서 인터페이스를 만들었고, 누군가는 발진기를 만들었으며, 누군가는 제출 직전에 배선을 고쳤습니다. 둘째로 회로의 품질 기준이 달라집니다. 논문 속 그림처럼 예쁘게 다듬어진 회로가 아니라, 실제로 제작을 통과한 회로라는 점이 기준이 됩니다. 저는 여기서 멈칫했습니다. 예쁘게 정제된 데이터가 아니라 통과된 데이터를 모으는 편이, 모델의 외우기를 막는 데 더 정직한 방법처럼 보였기 때문입니다.

Tiny Tapeout 실리콘 설계에서 회로도 이미지와 SPICE 넷리스트 평가까지 이어지는 전체 파이프라인 다이어그램
Tiny Tapeout 실리콘 설계에서 회로도 이미지와 SPICE 넷리스트 평가까지 이어지는 전체 파이프라인 다이어그램

물론 이런 선택에도 약점은 있습니다. 오픈소스 테이프아웃 회로는 최신 상용 칩의 복잡도를 그대로 반영하지는 못합니다. 공정도 교육용에 가깝고 회로 규모도 제한적이죠. 그런데 연구진은 이 약점을 규모로 덮으려 하지 않고 출처의 명확함으로 받아들입니다. 어디에서 왔는지 알 수 있는 회로 273개를 정확히 잡는 편이, 출처가 흐린 큰 모음보다 낫다는 판단으로 읽혔습니다.

273개 회로는 어떻게 한곳에 모였을까

컬렉션의 규모는 숫자로 분명합니다. 위상적으로 서로 다른 최상위 설계 273개입니다. 여기서 위상적으로 다르다는 말은 단순히 이름이 다르다는 뜻이 아니라, 연결 구조 자체가 겹치지 않게 걸러냈다는 뜻인데요. 같은 회로를 조금 고쳐 올린 변형이 여러 개 섞여 있으면, 모델이 하나를 외워서 나머지를 맞히는 일이 생기기 때문입니다.

수집 방식도 눈여겨볼 만합니다. 각 소스는 셔틀 제출 시점에 기록된 리비전 그대로 가져옵니다. 제출 마감 후에 고쳐진 최신 버전이 아니라, 실제로 셔틀에 실린 그 순간의 상태를 고정하는 것이죠. 날짜가 바뀌면 파일이 바뀌고, 파일이 바뀌면 정답이 바뀌는 벤치마크에서는 이 고정이 생각보다 중요합니다. 어제와 오늘이 다른 시험지를 두고 점수를 비교할 수는 없으니까요.

여기에 고정된 컨테이너 환경이라는 장치가 더해집니다. 모든 소스를 같은 환경에서 처리해서 누구든 같은 결과를 재현할 수 있게 만든 것입니다. 저는 이 대목을 읽으며 고개를 끄덕였습니다. 회로 도구는 버전이 조금만 달라져도 넷리스트 한 줄이 달라지고, 그 한 줄 때문에 평가가 흔들리곤 하니까요. 재현 가능한 환경은 부가 기능이 아니라 점수의 조건입니다.

셔틀 제출 리비전에서 수집된 273개 회로 컬렉션을 보여주는 격자형 개요도
셔틀 제출 리비전에서 수집된 273개 회로 컬렉션을 보여주는 격자형 개요도

그렇다면 273이라는 숫자는 많은 걸까요, 적은 걸까요. 언어 모델 벤치마크의 문제 수만 보면 작아 보일 수도 있습니다. 하지만 아날로그 회로에서는 하나의 회로를 검증하는 데 들어가는 손이 훨씬 큽니다. 도식을 열고, 넷리스트를 뽑고, 시뮬레이션 조건을 맞추는 과정이 매번 필요하니까요. 그래서 저는 이 숫자를 문제 은행의 크기가 아니라 검증된 실측 지점의 개수로 읽었습니다.

같은 파일에서 그림과 넷리스트를 뽑는 이유

이 파이프라인에서 제가 가장 흥미롭게 본 부분은 도식 이미지와 SPICE 넷리스트를 같은 소스 파일에서 함께 뽑는다는 점입니다. 회로도 그림과 넷리스트가 따로 놀면 평가가 어긋나기 쉽습니다. 그림에서는 연결된 것처럼 보이는데 넷리스트에서는 끊어져 있거나, 넷리스트에는 있는데 그림에서는 생략된 경우가 생기니까요.

연구진의 방식은 이런 어긋남을 원천적으로 줄입니다. 자격을 갖춘 각 도식에 대해 같은 파일에서 이미지를 내보내고 넷리스트도 내보내서, 트랜스크립션 과제의 정답 구조를 하나로 고정하는 것이죠. 다시 말해 모델이 그림을 보고 옮겨 적어야 할 구조와 채점 기준이 되는 구조가 같은 뿌리에서 나옵니다. 채점자가 두 개의 다른 문서를 들고 서로 다르다고 우기는 상황을 막는 셈입니다.

왜 이런 엄밀함이 필요할까요. 트랜스크립션은 글자를 옮기는 시험이 아니라 그래프를 옮기는 시험이기 때문입니다. 소자의 종류가 맞는지만 보는 것이 아니라, 어떤 노드가 어디에 연결되는지까지 정확히 재현해야 합니다. 평가 지표로 그래프 동형성(graph isomorphism)까지 쓰는 이유도 여기에 있습니다. 이름이 달라도 구조가 같으면 인정하고, 이름이 같아도 구조가 다르면 틀렸다고 말하는 엄격한 잣대죠.

동일한 소스 파일에서 도식과 넷리스트가 함께 추출되는 과정을 담은 비교도
동일한 소스 파일에서 도식과 넷리스트가 함께 추출되는 과정을 담은 비교도

이런 설계를 보고 있으면 벤치마크 제작자의 고민이 전해집니다. 모델이 잘 맞히는 것처럼 보이게 만드는 것은 쉽습니다. 기준을 느슨하게 잡으면 되니까요. 반대로 너무 엄격하면 사람이 봐도 같은 회로를 틀렸다고 하게 됩니다. 같은 파일에서 뽑은 넷리스트를 기준으로 삼는 것은 그 사이에서 고른 절충처럼 보였습니다. 기계가 채점할 수 있을 만큼 엄격하면서, 사람이 납득할 수 있을 만큼 근거가 분명한 기준이니까요.

커밋 날짜는 왜 남겨두었을까

컬렉션에는 각 소스의 커밋 날짜가 그대로 보존됩니다. 처음 보면 사소한 메타데이터처럼 보이지만, 모델 평가에서는 꽤 쓸모가 많습니다. 모델마다 학습 데이터의 마감 시점이 다르기 때문에, 언제 공개된 회로인지를 알면 외웠을 가능성을 따져볼 수 있기 때문입니다.

예를 들어 어떤 모델의 학습 마감이 2023년 말이라면, 2024년 셔틀에 처음 등장한 회로에서의 점수는 외우기로 설명하기 어렵습니다. 반대로 오래전에 공개된 회로에서만 점수가 높다면 해석이 달라지죠. 날짜는 이런 모델별 오염 분석을 가능하게 하는 열쇠입니다. 저는 이 배려가 좋았습니다. 데이터 오염을 말로만 걱정하는 대신, 날짜라는 재료부터 챙겨둔 셈이니까요.

그런데 여기서 조심해서 읽을 필요가 있습니다. 날짜가 새롭다고 해서 오염이 없다는 증명은 아닙니다. 포크나 미러, 블로그 인용 같은 경로로 내용이 퍼질 수도 있고, 비슷한 구조의 회로가 오래전부터 공개되어 있었을 수도 있기 때문입니다. 그럼에도 날짜가 없으면 이런 논의 자체가 시작되지 않습니다. 조건을 따질 수 있게 만드는 것만으로도 날짜 보존은 값을 합니다.

회로도를 보고 넷리스트를 그리는 시험

이제 실제 과제로 들어가 보겠습니다. 첫 번째 과제는 트랜스크립션입니다. 회로도 이미지를 보고 SPICE 넷리스트의 그래프 구조를 복원하는 일인데요. 사람으로 치면 남이 그린 회로도를 보고 옆에서 똑같은 회로를 다시 그리는 시험과 비슷합니다.

고정된 66개 과제 위에서 일곱 개 모델을 평가한 결과는 꽤 솔직했습니다. 가장 잘한 모델의 완전 일치율이 56.1%였는데, 절반을 조금 넘는 수준이죠. 뒤집어 말하면 가장 강한 모델도 절반 가까운 회로에서는 노드 하나라도 어긋나게 옮겨 적었다는 뜻입니다. 회로 규모가 작은 구간에서 중간 규모로 넘어갈 때 일곱 개 중 여섯 개 모델의 점수가 뚜렷이 떨어졌다는 점도 눈에 띕니다. 작은 회로에서는 곧잘 따라오던 모델이 선이 몇 개만 늘어나도 길을 잃는 셈입니다.

그렇다면 모델들은 어디에서 길을 잃을까요. 소자 기호를 못 읽어서일까요, 아니면 연결을 못 따라가서일까요. 연구진의 분석은 후자에 가깝습니다. 소자 자체는 맞히면서 배선 관계에서 어긋나는 경우가 많았기 때문입니다. 회로도를 처음 보는 분을 위해 비유를 들어보겠습니다. 지하철 노선도에서 역 이름은 다 읽는데, 환승역에서 어느 선으로 갈아타야 하는지 헷갈리는 상태와 비슷합니다.

66개 트랜스크립션 과제에서 모델 정확도가 규모에 따라 떨어지는 양상을 그린 개념도
66개 트랜스크립션 과제에서 모델 정확도가 규모에 따라 떨어지는 양상을 그린 개념도

저는 이 대목에서 회로도의 읽기 순서를 떠올렸습니다. 사람은 회로도를 볼 때 전원에서 접지까지 큰 흐름을 먼저 잡고, 그다음에 바이어스와 신호 경로를 따라갑니다. 한 번에 모든 선을 보지 않죠. 그런데 모델은 이런 읽기 순서 없이 픽셀과 기호를 한 번에 처리하려다 중간 규모에서 무너지는 것처럼 보였습니다. 작은 그림에서는 통하던 방법이 선이 많아지면 통하지 않는 것이죠.

56.1%라는 숫자 앞에서 멈칫해야 하는 이유

56.1%라는 숫자는 그대로 믿기 전에 조건을 봐야 합니다. 이 숫자는 완전 일치를 기준으로 한 점수라서, 실무 감각과는 거리가 있기 때문입니다. 실제 설계 현장에서는 노드 하나가 어긋나도 회로가 동작하지 않으니 완전 일치가 맞는 잣대이긴 합니다. 하지만 연구 관점에서는 구조적 F1처럼 부분 점수도 함께 봐야 모델이 얼마나 근접했는지 알 수 있습니다.

여기서 재미있는 질문이 생깁니다. 절반을 맞히는 것과 절반을 이해하는 것은 같은 일일까요. 벤치마크 점수만 보면 같아 보이지만, 틀린 방식이 다르면 의미가 달라집니다. 전원 연결을 틀리는 것과 벌크 연결을 틀리는 것은 시뮬레이션에서 전혀 다른 결과로 이어지니까요. 그래서 저는 이 56.1%를 잘함의 증명보다 다음 질문의 출발점으로 읽었습니다. 어떤 연결에서, 어떤 규모에서, 어떤 방식으로 틀리는가라는 질문이죠.

실제 시스템 관점에서 보면 다음 질문이 바로 생깁니다. 이런 판독 능력을 설계 흐름 안에 넣으면 어디에 쓸 수 있을까요. 낡은 PDF 도면을 디지털 넷리스트로 되살리거나, 스크린샷으로 공유된 회로를 시뮬레이션 가능한 형태로 바꾸는 장면이 떠오릅니다. 다만 지금 점수로는 사람의 검토 없이 돌리기 어렵습니다. 절반의 회로에서 손으로 고쳐야 한다면 자동화라고 부르기 민망하니까요. 이 간극이 바로 이 벤치마크가 가리키는 현주소입니다.

라벨을 지우면 모델의 눈은 어디에서 흔들릴까

이어지는 실험 하나가 이 시험의 성격을 잘 보여줍니다. 하나의 최고급 모델을 대상으로 작성자가 붙인 라벨을 지우고 다시 평가한 것인데요. 결과는 미묘했습니다. 완전 일치율은 떨어졌지만 전체 구조 점수는 크게 유지됐습니다. 라벨이 있을 때 모델이 연결을 따라가는 데 도움을 받았다는 해석이 붙었습니다.

이 차이는 생각보다 중요합니다. 라벨은 사람이 읽기 편하라고 붙인 이름표인데, 모델에게도 길잡이가 된 셈이기 때문입니다. 넷 이름이 적혀 있으면 멀리 떨어진 두 점이 같은 노드임을 쉽게 알 수 있습니다. 반대로 라벨이 없으면 선을 끝까지 눈으로 쫓아가야 하죠. 사람도 처음 보는 회로도에서 넷 이름이 지워져 있으면 한참 헤매곤 합니다. 모델의 눈도 비슷한 곳에서 흔들린 것입니다.

작성자 라벨 유무에 따른 회로 연결 추적 차이를 보여주는 회로도 발췌도
작성자 라벨 유무에 따른 회로 연결 추적 차이를 보여주는 회로도 발췌도

(참고로 이 실험은 일곱 개 모델 전체가 아니라 하나의 최고급 모델에서 보고된 결과인데요. 모든 모델에 통하는 성질로 일반화하기 전에 다른 모델에서도 같은 패턴이 나오는지 확인할 필요가 있습니다.) 그럼에도 이 결과는 평가 설계에 대한 힌트를 줍니다. 라벨이 있는 버전과 없는 버전을 함께 쓰면, 모델이 기호를 읽는 능력과 연결을 추적하는 능력을 나눠서 볼 수 있기 때문입니다. 외워서 맞히는 것과 따라가서 맞히는 것을 가르는 장치로 쓸 수 있죠.

그려진 회로를 동작하게 만드는 일

두 번째 과제는 디바이스 사이징입니다. 넷리스트 구조가 주어졌을 때 소자의 크기를 골라 작성자의 테스트벤치에서 요구하는 동작을 만족시키는 일인데요. 그림을 옮겨 그리는 것을 넘어, 실제로 동작하게 만드는 시험입니다. 비유하자면 설계도를 보고 부품을 고르는 일이 아니라, 고른 부품으로 조립했을 때 전원이 들어오게 만드는 일에 가깝습니다.

여기서 작성자의 테스트벤치가 시뮬레이션 맥락으로 쓰입니다. 테스트벤치란 회로를 어떤 조건에서 어떻게 측정할지를 정해둔 장치로, 전압을 어디에 걸고 무엇을 재는지를 담고 있습니다. 같은 회로도 측정 조건이 바뀌면 점수가 달라지니, 작성자가 정한 원래 조건을 쓰는 편이 공정합니다. 출제자가 의도한 시험 조건 그대로 치르는 셈이죠.

문제는 그다음입니다. 사이징은 답이 하나로 정해지지 않는 경우가 많습니다. 트랜지스터 폭을 키우면 속도는 좋아지지만 전력과 면적이 늘어나고, 줄이면 반대가 됩니다. 그래서 평가는 맞혔는지 틀렸는지가 아니라 요구 조건을 만족했는지로 기울기 쉽습니다. 저는 이 지점이 트랜스크립션과 사이징을 함께 둔 이유라고 봅니다. 읽는 능력과 만드는 능력은 다른 근육이라서, 두 시험의 순위표가 엇갈릴 때 비로소 각 모델의 성격이 드러나니까요.

작성자 테스트벤치 기반 디바이스 사이징 평가 장면을 담은 실험실 개념도
작성자 테스트벤치 기반 디바이스 사이징 평가 장면을 담은 실험실 개념도

실제로 연구진이 보고한 엇갈림이 흥미롭습니다. 두 과제에서 모델 순위가 다르게 나타났고, 이는 시각적 판독 능력과 설계 능력이 서로 다른 축임을 보여준다고 설명됩니다. 한쪽을 잘한다고 다른 쪽까지 잘하는 것은 아니라는 뜻이죠. 게다가 한 계열에서는 능력 부족이 아니라 정책적 제한으로 보이는 사례까지 언급됩니다. 모델이 못해서가 아니라 하지 않도록 막혀서 낮은 점수를 받는 경우도 있다는 것입니다. 점수표만 보면 놓치기 쉬운 대목인데, 해석할 때는 꼭 함께 봐야 합니다.

순위표가 엇갈릴 때 무엇을 봐야 할까

여기까지 오면 자연스럽게 다음 질문이 생깁니다. 그렇다면 이 벤치마크를 보고 실무자는 무엇을 들고 가야 할까요. 저는 순위표의 1등보다 순위표가 엇갈린다는 사실 자체가 더 중요하다고 봅니다. 회로를 읽는 일과 회로를 동작시키는 일이 같은 점수표에서 움직이지 않는다는 것은, 앞으로 모델을 고를 때도 용도별로 골라야 한다는 뜻이기 때문입니다.

예를 들어 낡은 도면을 디지털 자산으로 되살리는 팀이라면 트랜스크립션 점수를 먼저 볼 것이고, 주어진 구조에서 초기 사이징을 뽑아내려는 팀이라면 사이징 결과를 먼저 볼 것입니다. 하나의 종합 점수로 줄 세우는 편이 보기에는 깔끔하지만, 현장의 선택에는 오히려 방해가 됩니다. SGAnalog가 두 과제를 끝까지 이어서 묻는 구조는 이런 선택을 돕습니다.

제가 앞으로 보고 싶은 것은 중간 규모의 벽이 어떻게 깨지는지입니다. 작은 구간에서 중간 구간으로 넘어갈 때 대부분 모델이 떨어졌다는 것은, 지금 방식의 시각 처리에 규모 장벽이 있다는 신호로 읽힙니다. 계층적으로 읽거나, 블록 단위로 나눠 읽거나, 넷 이름을 단서로 먼저 묶는 식의 읽기 전략이 필요할 수도 있죠. 사람이 큰 회로도를 볼 때 한 장을 통째로 외우지 않고 블록부터 나누는 것처럼요.

이 논문이 남기는 그림을 한 문장으로 줄이면 이렇게 됩니다. 외울 수 없는 출처에서 온 회로로, 읽는 시험과 만드는 시험을 같은 조건에서 치르게 만들었다는 것입니다. 273개라는 숫자와 56.1%라는 숫자는 그 시험의 첫 성적표에 가깝습니다. 그렇다면 다음 성적표에서는 어떤 읽기 전략이 이 벽을 넘을까요. 저는 그 장면을 기다리며 이 벤치마크를 책상 위에 올려두려 합니다.

참고 자료

  1. SGAnalog: An End-to-End Circuit Benchmark from Open-Source Silicon Tapeouts · arxiv.org

    리뷰 원문