오픈 웨이트와 오픈 소스 모델: 진짜 차이
"두 용어는 동의어처럼 쓰이지만 그렇지 않습니다. 무엇을 받아 살펴보고 다시 쓸 수 있는지가 크게 다르며, 허용되는 일까지 달라집니다."
"오픈"은 모델 세계에서 가장 과도하게 쓰이는 단어 중 하나입니다. 어떤 모델이 "오픈"이라 불리면, 사람들은 그것이 소프트웨어에서 "오픈 소스"가 수십 년간 뜻해 온 것 — 모든 것을 볼 수 있고, 무엇이든 바꿀 수 있으며, 자유롭게 다시 쓸 수 있다 — 을 의미한다고 넘겨짚습니다. 모델에서는 그 가정이 대개 틀립니다. 오픈이라 묘사되는 모델 대부분은 오픈 웨이트이며, 이는 오픈 소스보다 좁고 구체적인 것입니다. 그리고 두 용어 사이의 간극이 내가 실제로 무엇을 허락받고 무엇을 할 수 있는지를 결정합니다. 둘을 동의어로 다루면 투명성, 재현성, 그리고 내 법적 권리에 대해 잘못된 기대를 하게 됩니다.
이 글은 둘을 풀어냅니다. 모델이 무엇으로 이루어졌는지, "오픈 웨이트"와 "오픈 소스"가 각각 실제로 무엇을 공개하는지, 그 구분이 실무에서 왜 중요한지, 그리고 결정하기 전에 깨알 같은 조항을 어떻게 읽을지를 설명합니다.
모델은 실제로 무엇으로 이루어졌는가
차이를 보려면 모델의 재료를 봐야 합니다. 재료는 여럿이며, "개방성"은 그중 어느 부분집합에도 적용될 수 있습니다.
가중치(weights) 는 학습된 파라미터입니다 — 모델이 학습을 통해 도달한 거대한 숫자 더미죠. 모델을 실제로 돌리기 위해 불러오는 것이 바로 이것입니다. 아키텍처 는 신경망의 설계입니다. 어떻게 구조화되고 데이터가 어떻게 흐르는지죠. 학습 코드 는 모델을 학습시키는 데 쓰인 소프트웨어입니다. 학습 데이터 는 모델이 배운 말뭉치입니다. 그리고 학습 레시피 는 그 밖의 모든 것입니다. 설정, 절차, 그리고 그저 그런 모델과 좋은 모델을 갈라놓은 선택들이죠.
결정적인 점은, 가중치를 공개한다고 나머지가 공개되는 것은 아니라는 것입니다. 완성된 숫자를 누군가에게 건네면서도, 그것을 만들어 낸 데이터, 코드, 레시피는 건네지 않을 수 있습니다. 바로 그 분리 가능성을 두 용어가 서로 다르게 가르는 것입니다.
"오픈 웨이트"가 뜻하는 것
오픈 웨이트 모델은 가중치를 받아 다운로드하고 돌릴 수 있게 공개된 모델입니다. 완성된 모델 — 숫자 — 을 받아, 그것을 불러와 내 하드웨어에서 돌리고, 라이선스에 따라 내 제품에 쓸 수 있습니다. 이는 진짜로 가치 있습니다. 한 제공사의 서버에 묶이지 않고, 모델을 비공개로 돌릴 수 있으며, 매 사용마다 허락을 구하지 않고 그 위에 무언가를 쌓을 수 있다는 뜻이니까요.
하지만 오픈 웨이트는 대개 가중치에서 멈춥니다. 학습 데이터는 보통 받지 못하고, 전체 학습 코드도 흔히 받지 못하며, 완전한 레시피는 좀처럼 받지 못합니다. 그래서 모델을 쓸 수는 있지만, 처음부터 재현할 수는 없고, 그것이 어떻게 만들어졌는지 온전히 감사할 수 없으며, 무엇이 들어갔는지 독립적으로 검증할 수 없습니다. 완성품은 가졌지만 그것을 만든 공장은 없는 셈이죠. 대부분의 실용적 용도에는 그것으로 충분하지만, 투명성, 재현성, 깊은 신뢰에는 충분하지 않습니다.
"오픈 소스"가 뜻하는 것
"오픈 소스"는 엄밀히 쓰면 소프트웨어에서 물려받은 더 높은 기준을 세웁니다. 오픈 소스의 확립된 의미는 단지 "들여다볼 수 있다"가 아니라, 일련의 자유입니다 — 어떤 목적으로든 그것을 쓰고, 어떻게 작동하는지 연구하고, 수정하고, 수정본을 포함해 제한적 조건 없이 재배포할 자유죠. 모델에 정직하게 적용하면, 이는 누군가가 진짜로 연구하고, 다시 만들고, 변형할 수 있을 만큼의 재료를 — 단지 완성된 가중치를 돌리는 것이 아니라 — 충분히 공개한다는 뜻이 됩니다.
이는 오픈 웨이트보다 의미 있게 더 강한 주장이며, 더 드뭅니다. "오픈 소스 모델"로 마케팅되는 것 중 다수는 사용 방식을 제한하는 라이선스 아래 가중치만 공개하며, 이는 더 엄격한 정의를 두 가지 면에서 충족하지 못합니다. 불완전한 재료, 그리고 제한적 조건이죠. 이 단어는 수십 년 오픈 소스 소프트웨어의 명성을 짊어지고 있고, 바로 그래서 그 명성을 얻지 못한 모델에까지 헐겁게 갖다 붙여집니다.
이 구분이 트집이 아닌 이유
이것이 중요한 까닭은, 두 용어가 서로 다른 권리와 서로 다른 능력을 만들어 내며, 둘을 뭉뚱그리면 세 가지 구체적 문제에 부딪히게 되기 때문입니다.
첫째, 법적 권리. 모델의 라이선스가 내가 실제로 무엇을 해도 되는지를 규율합니다 — 상업적으로 쓸 수 있는지, 경쟁 제품을 만들 수 있는지, 재배포할 수 있는지, 일정 규모 이상으로 쓸 수 있는지. 마케팅의 "오픈"은 이 중 무엇도 알려 주지 않습니다. 라이선스가 알려 줍니다. 모델은 자유롭게 다운로드되면서도 내 의도된 용도를 배제하는 제약을 달고 올 수 있습니다.
둘째, 투명성과 신뢰. 모델이 어떤 데이터로 배웠는지 알아야 한다면 — 규정 준수를 위해, 편향 검토를 위해, 실패 양상을 이해하기 위해 — 오픈 웨이트만으로는 그것을 주지 못합니다. 데이터와 레시피의 더 충분한 공개만이 그런 종류의 정밀 검토를 뒷받침합니다. "오픈"이 "끝까지 들여다볼 수 있음"을 뜻한다고 가정하면, 답해야 할 의무가 있는 질문에 답할 수 없게 됩니다.
셋째, 재현성. 내 작업이 모델을 재료로부터 다시 학습시키고, 검증하고, 다시 만들 수 있어야 한다면 — 연구와 규제 환경에서 흔하죠 — 가중치만으로는 충분하지 않습니다. 코드, 데이터, 레시피가 필요합니다. 오픈 웨이트 모델을 재현하려 했다가 할 수 없음을 뒤늦게 깨닫는 것은 값비싼 놀라움입니다.
깨알 같은 조항을 읽는 법
라벨은 믿을 수 없으니, 모델을 그 형용사가 아니라 실제 조항으로 판단하세요. 몇 가지 질문이 마케팅을 꿰뚫습니다.
실제로 무엇이 공개됐는지 물으세요. 가중치만? 학습 코드도? 데이터에 대한 정보는? 아키텍처 세부는? 그 답이 "오픈"이라는 단어보다 모델을 스펙트럼 위에 훨씬 잘 자리매김합니다.
라이선스가 무엇을 허용하고 금지하는지 물으세요. 상업적 사용, 재배포, 수정, 규모 한도, 그리고 사용 분야 제한을 두고 읽으세요. 이것이 법적 효력을 지닌 부분이며, 헐겁게 라벨 붙은 "오픈" 모델이 가장 흔히 실망을 안기는 곳입니다.
내가 실제로 무엇이 필요한지 물으세요. 그저 능력 있는 모델을 비공개로 돌리고 제품을 출시하기만 하면 된다면, 충분히 너그러운 라이선스 아래의 오픈 웨이트가 바로 정답일 수 있고 더 깊은 질문은 무의미합니다. 감사하고, 재현하고, 자유롭게 재배포해야 한다면 더 많은 것이 필요하며, 가졌다고 가정하지 말고 가졌는지 확인해야 합니다.
두 칸이 아니라 스펙트럼
이분법을 아예 버리는 편이 도움이 됩니다. 개방성은 스펙트럼입니다. 남의 API로만 호출할 수 있는 모델에서, 제한적 라이선스 아래 다운로드 가능한 오픈 웨이트 모델로, 너그러운 라이선스의 오픈 웨이트 모델로, 코드와 데이터까지 공개하는 모델로, 그리고 진짜로 자유로운 조건 아래 전체 재료 목록을 공개하는 모델까지 이어집니다. 각 단계가 더 많은 자유와 더 많은 투명성을 줍니다. "오픈"이라는 한 단어는 이 전체 범위를 한 음절로 뭉개 버리며, 바로 그래서 오해를 부릅니다. 모델을 스펙트럼 위에 자리매김하면 내가 무엇을 받는지 알게 됩니다.
정리
오픈 웨이트와 오픈 소스는 동의어가 아닙니다. 오픈 웨이트는 완성된 가중치를 다운로드해 돌릴 수 있다는 뜻입니다 — 유용하지만 대개 거기서 멈추며, 데이터와 코드와 레시피는 남겨 둡니다. 오픈 소스는 제대로 쓰면 더 충분한 자유와 재료의 집합을 뜻하며, 마케팅이 시사하는 것보다 드뭅니다. 이 구분이 내 법적 권리, 살펴볼 능력, 재현할 능력을 규율합니다. 형용사는 무시하고, 라이선스와 릴리스 노트를 읽고, 실제로 제공된 것을 내 프로젝트가 진짜 필요로 하는 것과 맞춰 보세요. "오픈"이라는 단어는 시작하는 질문이지, 결코 답이 아닙니다.
