1.2M 초경량 모델 Taiga-S1: 1ms 속도로 FreeCAD 3D 부품 모델링을 제어하는 System 1 의사결정 레이어

개발자 Shiv Shanmugam이 120만 개 파라미터로 FreeCAD의 3D 부품 모델링 명령을 CPU에서 1ms 단위로 제어하는 초경량 의사결정 모델 Taiga-S1을 오픈소스로 공개했습니다. 대형 LLM이나 화면 스크린샷 캡처 없이 실시간 상태를 읽고 다음 동작을 수행합니다.

tau · 2026년 10월 4일

#FreeCAD #Taiga-S1 #AI-CAD #경량모델 #오픈소스

1.2M 초경량 모델 Taiga-S1: 1ms 속도로 FreeCAD 3D 부품 모델링을 제어하는 System 1 의사결정 레이어

개발자 시브 샨무감(Shiv Shanmugam)이 120만(1.23M) 개 파라미터만으로 FreeCAD 데스크톱 애플리케이션의 3D 부품 생성 과정을 단계별로 제어하는 초경량 의사결정 모델 'Taiga-S1'을 허깅페이스(Hugging Face)에 오픈소스로 공개했습니다. 고비용 프론티어 거대언어모델(LLM)이나 화면 스크린샷 기반의 컴퓨터 비전(CV) 파이프라인 없이도, 로컬 소켓 통신을 통해 FreeCAD의 실시간 세션 상태를 읽어 1회 의사결정당 약 1ms의 속도로 다음 CAD 명령을 선택합니다.

FreeCAD 3D 모델링 환경에서 1.2M 초경량 의사결정 모델 Taiga-S1이 부품 생성 명령을 단계별로 실행하는 개념도

이미지 출처: @RoundtableSpace

기존 컴퓨터 조작(Computer-Use) 에이전트는 버튼 하나를 클릭하거나 메뉴를 선택할 때마다 수십~수백억 파라미터 규모의 비전-언어 모델(VLM)에 고해상도 스크린샷을 전송해 추론하는 방식을 주로 채택해 왔습니다. 이로 인해 높은 토큰 비용과 수 초 단위의 지연 시간이 발생했습니다. Taiga-S1은 상위 플래너와 하위 실행기를 분리하여, CAD GUI 조작에 필요한 세부 의사결정을 극단적으로 경량화된 전용 모델에 위임하는 실험적 접근법을 제시합니다.

'System 1' 의사결정 모델: 상위 기획과 세부 실행의 분리

Taiga-S1은 인지과학의 '시스템 1(빠르고 직관적인 실행)'과 '시스템 2(느리고 계획적인 추론)' 개념을 에이전트 아키텍처에 적용했습니다.

전체 부품의 사양과 설계 순서를 기획하는 상위 플래너 에이전트(LLM 등)가 목표 피처 목록을 제공하면, Taiga-S1이 실제 FreeCAD GUI 환경에서 구체적인 명령 시퀀스를 실행하는 구조입니다.

  • 입력 데이터 구조:
    • state: FreeCAD 런타임(freecad_s1.runtime)이 캡처한 피처 트리, 선택 객체, 스케치 구속조건, 활성 워크벤치 등 실시간 세션 스냅샷.
    • goal: "플레이트 40×30×10 → (10, 0) 위치에 Ø6 관통홀 생성 → 6개 원형 패턴 복사 → 상단 모서리 필렛"과 같은 순차적 피처 목록 및 부품의 대략적인 바운딩 박스/체적.
    • actions: FreeCAD 런타임의 valid_actions()가 반환하는 현재 시점에 실행 가능한 유효 명령 집합.
  • 수치와 명령의 역할 분담: Taiga-S1은 평면 선택, 스케치 진입, 도형 그리기, 구속조건 설정, 패드 돌출, 패턴 생성, 필렛 적용 등 실행할 명령의 확률 점수를 계산해 최적 동작을 선택합니다. 치수나 좌표 등 구체적인 수치 파라미터는 상위 목표(goal) 명세에서 직접 주입됩니다.

PartDesign 지원 범위와 벤치마크 일반화 성능

Taiga-S1은 FreeCAD의 파트디자인(PartDesign) 워크벤치에서 가장 빈번하게 사용되는 핵심 기능들을 포괄합니다.

  • 지원 기능: 스케치 기본 도형(직사각형, 원, 육각형), 패드(Pad), 포켓(Pocket), 홀(Hole), 회전(Revolve), 선형 패턴(Linear Pattern), 원형 패턴(Polar Pattern), 대칭 복사(Mirror), 필렛(Fillet), 챔퍼(Chamfer), 셸(Shell).
  • 장기 시퀀스 일반화: 학습 과정에서는 최대 5개 피처로 구성된 단순 목표 데이터셋만 학습했음에도 불구하고, 평가 단계에서는 학습에 포함되지 않은 11개 피처(약 55개 연속 명령) 목표 100건을 100% 완수했습니다. 17개 피처 목표에 대해서도 95%의 성공률을 기록하며 학습 범위를 뛰어넘는 시퀀스 일반화 능력을 입증했습니다.
  • 오류 감지 및 자체 복구: 실행 중 20%의 동작을 무작위 명령으로 강제 교체하는 노이즈 테스트에서도, 모델은 손상된 상태를 감지하고 실행 취소(Undo) 명령을 호출해 복구한 뒤 86%~100%의 최종 부품을 정상적으로 완성했습니다.

파이썬 추론 인터페이스와 소켓 연동

Taiga-S1은 PyTorch 기반 가중치로 배포되며, CPU 환경에서도 지연 없이 동작할 수 있도록 최적화되어 있습니다.

from freecad_s1.model.net import from_pretrained
from freecad_s1.rollout import Policy

# 모델 가중치 로드 및 CPU 정책 설정
model = from_pretrained("shhivv/taiga-s1")
policy = Policy(model, device="cpu")

# 세션 상태, 목표 명세, 실행 가능 동작을 입력받아 최적 명령 도출
probs = policy.score(state, goal, actions)   # {command: probability}, 확률 높은 순
next_command = next(iter(probs))

FreeCAD 데스크톱 앱과의 통신은 로컬 소켓 인터페이스를 통해 처리됩니다. 외부 네트워크 호출이나 VRAM 소모가 발생하지 않으므로, 로컬 환경에서 구동되는 코딩 에이전트 하네스나 자동화 스크립트에 간편하게 통합할 수 있습니다.

실무 활용 시 주의점 및 확장 계획

Taiga-S1 도입을 검토할 때 유의해야 할 구조적 제약과 향후 개발 방향은 다음과 같습니다.

  • 단독 설계 불가 (플래너 필수): Taiga-S1은 창의적인 기구 설계를 자율적으로 수행하는 독립형 생성 모델이 아닙니다. 구조화된 피처 순서와 치수를 생성해 전달해 줄 상위 플래너 에이전트(LLM 기반 에이전트 또는 룰 기반 컴파일러)가 반드시 선행되어야 합니다.
  • OS 접근성 트리(Accessibility Tree)로의 확장: 개발자 Shiv Shanmugam은 FreeCAD 전용 소켓 API를 사용하는 현재 방식을 넘어, 스크립팅 API가 제공되지 않는 일반 데스크톱 GUI 프로그램에서도 운영체제의 접근성 트리를 인터페이스 삼아 초경량 의사결정 모델을 구동하는 후속 연구를 진행 중이라고 밝혔습니다.

출처