텍스트 벡터가 이미 있고 다른 팀의 벡터를 연결하려 한다. 양쪽 모두 코사인 유사도를 쓰고 길이도 마침 같다. 하나의 인덱스에 넣으려면 데이터만 가져오면 될 것 같다.
먼저 답해야 할 질문이 있다. 두 쪽의 숫자가 같은 공간을 묘사하고 있는가?
벡터 모델의 출력은 학습으로 얻은 좌표다. 한 모델의 17번째 차원과 다른 모델의 17번째 차원 사이에는 본래부터 정해진 대응이 없다. 같은 텍스트를 매우 비슷하게 이해하더라도 좌표를 쓰는 방식은 다를 수 있다.
ToWow의 NAC(Nested Anchor Coordinates, 중첩 앵커 좌표)는 여기서 출발한다. 각자가 자기 모델로 공통 참조 집합을 관찰하고 관찰 결과를 교환한다. 손으로 계산할 수 있는 예로 이 동작을 먼저 설명한 뒤 협력 상대를 찾는 데 어떻게 쓰는지 살펴보자.
회전만으로도 직접 비교는 실패한다
2차원 모델 A가 어떤 텍스트를 x = (1, 0)에 놓는다고 하자. 모델 B는 같은 텍스트를 x′ = (0, 1)로 표현한다. 두 숫자열의 코사인 유사도를 직접 계산하면 0이다.
하지만 이 설명용 예에서 B는 A의 전체 공간을 반시계 방향으로 90도 회전했을 뿐이다. 텍스트 사이의 모든 각도는 유지된다. 각 모델 내부의 검색 결과는 완전히 같을 수 있지만, 방금의 모델 간 비교는 같은 텍스트를 직교 방향으로 취급했다.
이제 공통 참조 대상 a와 b를 넣는다. A에서는 각각 (1, 0), (0, 1)이고, 회전한 B에서는 (0, 1), (-1, 0)이다.
각 모델에 두 가지를 묻는다. 이 텍스트가 a와 얼마나 비슷한가? b와는 얼마나 비슷한가?
| 모델 | 텍스트의 원래 좌표 | 참조 a와의 코사인 유사도 | 참조 b와의 코사인 유사도 |
|---|---|---|---|
| A | (1, 0) |
1 | 0 |
| B | (0, 1) |
1 | 0 |
원래 좌표는 달라도 참조 결과는 모두 [1, 0]이다. 두 참조 결과열을 비교하면 이 예에서의 일치를 알아볼 수 있다.
공간을 회전하고 숫자 비교하기
공간 전체의 회전만 모의합니다. 실제 모델이 학습한 관계는 별도로 측정해야 합니다.
B를 A로 되돌리는 행렬을 학습한 것이 아니다. 각자는 자기 공간 안에서 유효한 유사도를 계산한 뒤 공통 순서로 적는다. 교환하는 것은 같은 대상 집합에 대한 관계 설명이다.
공통 참조가 좌표가 되는 과정
NAC에서 참조는 고정된 텍스트나 모두가 구할 수 있는 예일 수 있다. 프로토콜이 참조 집합과 순서를 먼저 정한다. 각 참여자는 자기 인코더 E로 로컬 내용 x와 모든 참조 a₁…aₘ을 인코딩해 다음을 만든다.
c_E(x) = [cos(E(x), E(a₁)), …, cos(E(x), E(aₘ))]
첫 번째 위치는 “첫 참조와의 관계”, 두 번째 위치는 “둘째 참조와의 관계”를 뜻한다. 모델 A의 원래 벡터가 384차원이고 B가 1,024차원이어도 된다. 같은 m개 참조로 계산하면 둘 다 m개 관계값을 출력한다.
상대 표현에는 명확한 선행 연구가 있다. Moschella 등의 ICLR 2023 Relative Representations는 표본과 앵커의 유사도로 표현을 구성하고 잠재 공간 비교와 모델 구성요소 연결을 연구했다. NAC는 이 좌표 발상을 채택하고, 개방형 Agent 네트워크에 필요한 분할 전송, 관계 방향, 버전 진화를 더 연구한다.
공통 참조는 “몇 번째 숫자가 무엇에 대응하는가”라는 모호함을 없앤다. 의미를 얼마나 보존하는지는 모델과 참조의 실제 성질에 달려 있다. 회전 예가 잘 맞는 이유는 회전이 각도를 보존하기 때문이다. 현실의 모델은 서로 다른 차이를 학습할 수도 있다.
예컨대 한 모델은 “장비를 빌릴 수 있다”와 “장비를 구매 중이다”를 중요하게 구별하지만, 다른 모델은 둘 다 장비라는 주제 근처에 둘 수 있다. 공통 참조는 이 차이를 비교 가능한 형태로 드러낸다. 그것이 검색에 해로운지는 후속 판단이 필요하다.
관계표에서 협력 상대의 발견으로
장비 시험을 위한 설계 예를 보자. 작은 팀이 열화상 품질 검사를 하려 하며 두 시간의 장비 사용과 현장 지도가 필요하다. 근처 연구실에는 빈 시간이 있다. 다른 엔지니어도 같은 종류의 카메라를 찾고 있다.
두 수요자가 쓴 텍스트가 가장 비슷할 수 있다. 장비 이름, 시험 목표, 기술 용어가 크게 겹치기 때문이다. 연구실 소개는 “계측 플랫폼”, “단시간 개방”, “조작 지원”이라고 적혀 있어 표현상 수요와 더 멀 수 있다.
따라서 신호는 이 내용이 관계에서 어떤 역할을 하는지도 설명해야 한다. NAC 설계는 로컬 설명을 “찾기”, “제공”, “배경”처럼 방향이 다른 조각으로 나눌 수 있게 한다. 수요자의 “장비 찾기”는 먼저 연구실의 “장비 제공”과 비교한다. 다른 수요자도 경험이나 소개를 보탤 수 있지만, 그것에는 다른 협력 이유가 필요하다.
신호 생성 과정을 구체적으로 쓰면 다음과 같다.
- 로컬 Agent가 이번 수요와 관련 있고 발견에 사용해도 되는 내용을 고른다.
- 로컬 모델로 공통 참조에 대한 관계값을 계산한다.
- “찾기” 방향, 참조 버전, 유효기간을 붙인다.
- 수신자는 대응하는 “제공” 조각으로 후보를 비교한다.
네트워크에 실제로 넘어가는 것은 의미 방향을 가진 관계 설명이다. 시간이 맞는지, 장비가 적합한지는 후속 대화에서 차츰 보완할 수 있다.
전송 예산에 맞춰 좌표 펼치기
발견 네트워크는 저렴한 1차 필터링을 한 뒤 소수 후보에 계산을 집중해야 할 수 있다. NAC는 참조를 안정된 순서로 배치해 짧은 접두부를 먼저 보내고 필요할 때 더 늘릴 수 있게 한다.
예를 들어 첫 단계에서 앞 32개 관계값만 교환하고, 더 살펴볼 만한 후보라면 128개로 확장한다. 이 길이는 설명용 예다. 유효한 설정은 과제에서 측정해야 한다. 짧은 접두부가 유용한 대상을 얼마나 놓치고, 한 부분을 더하면 얼마나 되찾으며, 계산과 전송이 얼마나 드는지 봐야 한다.
순서는 신중히 설계해야 한다. 앞 32개 참조가 비슷한 산업 구매 장면만 설명한다면 예술이나 교육 협력을 충분히 구별하지 못할 수 있다. 긴 벡터 전체는 좋아도 앞부분은 나쁠 수 있다. “잘라 쓸 수 있다”와 “잘라도 유용하다”는 따로 다뤄야 한다.
이는 NAC와 Matryoshka Representation Learning의 관계도 설명한다. 후자는 길이가 다른 표현도 실용성을 갖도록 학습한다. NAC는 분할 가능한 순서를 외부 참조에 놓아 참여자가 자기 인코더를 유지하게 한다. 이 자유도는 새로운 실험 문제를 만든다. 모든 전송 예산에서 쓸 만한 신호를 얻으려면 참조를 어떻게 고르고 배열해야 할까?
모델도 공통 참조도 바뀐다
부동소수점 배열 하나를 교환하는 것으로는 부족하다. 수신자는 어떤 참조 버전인지, 접두부를 얼마나 받았는지, 언제 생성했는지 알아야 한다. 길이가 같은 두 배열도 서로 다른 질문에 대응할 수 있기 때문이다.
그래서 NAC는 좌표와 함께 버전과 방향을 운반한다. 로컬 모델이 바뀌면 Agent는 원자료로 돌아가 참조 결과를 다시 계산할 수 있다. 참조 집합이 갱신되면 신구 버전의 전환도 필요하다. 일정 기간 두 버전의 신호를 함께 만들거나, 같은 버전을 명시적으로 지원하는 노드끼리 비교하게 할 수 있다.
흥미로운 설계 선택은 공동 의존성을 “모두 같은 모델 설치”에서 “모두 같은 참조를 구하고 해석할 수 있음”으로 옮긴다는 점이다. 모델 선택은 각자가 관리하고 참조의 품질과 진화는 네트워크의 공동 과제가 된다.
언제 채택을 검토할 만한가
모든 내용을 같은 서비스로 인코딩할 수 있다면 공유 인코더가 직접적인 출발점이다. 벡터가 자연스럽게 같은 공간에 있고 연결과 검색도 간단하다. 기존 벡터를 공간을 넘어 재사용해야 한다면 변환을 학습할 수도 있다. vec2vec은 임베딩 분포에서 번역을 학습하는 경로를 연구한다.
NAC를 연구할 만한 환경은 참여자가 로컬 모델을 유지하면서도 공통으로 해석할 수 있고 세부 정보를 점진적으로 늘릴 수 있는 교환 표현이 필요한 경우다. 공학적 선택에서는 검색 품질, 참조 계산, 전송량, 모델 교체 후 유지 비용을 함께 봐야 한다.
현재 ToWow에는 신호 설계와 참조 구현이 있으며, 모델 간 발견 효과는 검증해야 할 문제로 남아 있다. 앞선 로컬 진단에는 앵커 좌표와 다른 표현이 포함되었으나, 공급자가 다른 모델을 잇는 이 방안을 판정할 완전한 평가는 끝나지 않았다. 본문은 메커니즘과 그 설계 이유를 소개한다.
공유 인코더, 학습 매핑, 공통 참조는 유지 비용을 서로 다른 곳에 놓는다. NAC는 모델을 각자가 관리하면서 참조의 품질과 순서를 공동 관리하는 선택이다. 적합한 교환 표현이 될지는 그 비용으로 얼마나 유용한 모델 간 비교를 얻는가에 달려 있다.
연구 자료: NAC 메커니즘 기록과 Discovery Front 현재 상태 기록. 로컬 위치는 출판 패키지의 SOURCE-NOTES.md를 참조한다. 2차원 좌표, 장비 장면, 32/128 접두부는 설명용이며 모델 실험 결과로 사용하지 않았다.
