
Humans&가 사람들의 개인적·공동 목표 달성을 돕도록 훈련한 모델 Ampersand v0.1을 공개했다. 개발자는 Agents API를 통해 모델을 이용해 협업을 촉진하는 도구와 앱을 만들 수 있다.
Humans&는 현재의 훈련 방식이 과업 완료와 피상적인 선호에 집중하며, 협업을 돕기보다 사람의 일을 대체하는 방향으로 모델을 더 자율적으로 만든다고 지적한다. 좋은 협력자는 당장의 과업을 넘어 자신의 말과 행동이 어떤 결과를 낳고 누구에게 영향을 미치는지, 사람들이 함께 목표를 이루는 데 도움이 되는지를 고려해야 한다는 설명이다. Humans&는 사람들이 다른 이들과의 개방적이고 장기적인 상호작용을 통해 이런 행동을 배운다고 보고, Ampersand v0.1을 이 패러다임으로 훈련한 첫 모델이라고 소개했다.
장기간의 협업 평가
여러 사람이 함께 쓰는 모델은 목표가 명시되지 않고 우선순위가 서로 다르며 필요도 시간이 지나면서 달라질 수 있다. 따라서 성공 여부는 모델이 무엇을 말하거나 하는지뿐 아니라 언제 행동하고 자제하는지에도 달려 있다. Humans&는 사용자가 목표를 이루는 동시에 그 목표를 이루는 과정에도 만족해야 성공적인 협업이라고 정의한다.
Humans&는 모델을 모의 사용자 그룹에 넣고 오랜 기간 사용자의 필요를 파악하고 돕도록 한 뒤 협력자로서 평가한다. 모의 사용자는 실제로 수집한 데이터에 근거한 여러 초기 목표를 부여받고, 시뮬레이션 과정에서 최대 몇 달에 해당하는 시간 동안 목표를 바꿀 수 있다. 평가는 모델이 각 사용자에게 제공한 가치를 측정한다. 장기 목표를 향해 나아가도록 도운 정도에서 사용자의 선호와 충돌한 상호작용으로 누적된 비용을 뺀다. 이 시뮬레이션 기반 평가는 Humans&가 함께 개발해 곧 출시하려는 제품에서 많은 영향을 받았다.
Humans&에 따르면 평가한 모델 가운데 Ampersand는 사용자의 암묵적 목표 달성에 가장 큰 가치를 제공했지만, 다른 선도 모델보다 상호작용 비용도 더 많이 발생시켰다. 비용의 상당 부분은 코칭에서 비롯됐다. 사용자가 단순히 답을 원하거나 스스로 해결하려 할 때 Ampersand가 때때로 조언이나 격려를 제안한다는 설명이다. 반면 Astra는 사용자의 선호에 어긋나는 행동을 거의 하지 않지만, 사용자의 사적인 의도를 적극적으로 추론해 행동하는 경우도 드물었다. Humans&는 Ampersand가 기반 모델인 GLM 5.3(매개변수 744B)보다 전체 점수가 눈에 띄게 높고 상호작용 비용은 낮았다고 밝혔다.
평가 시나리오에는 성인 형제자매 세 명이 부모의 결혼 40주년 기념행사를 5주 반 안에 준비하는 상황과, 콜(Cole)이 친구 드레(Dre)의 첫 1박 배낭여행을 준비하는 가운데 주말에 폭풍이 예보된 상황이 포함됐다.
Humans&는 대표 평가 외에도 협업에 중요한 모델 행동을 특정 벤치마크로 시험했다. 팀워크 평가는 팀원이 문제를 일으켰을 때 모델이 어떻게 대응하는지 살핀다. Collaborative Intelligence Benchmark는 팀원 한 명이 문제를 만드는 시나리오를 구성해 여덟 가지 차원에서 모델의 대응을 평가한다. 팀워크 점수는 모델이 혼자 해결할 수 있었던 시나리오 중 문제를 일으키는 팀원이 있는 조건에서도 통과한 비율이다.
협력 평가는 여러 사람과 에이전트가 같은 목표를 향해 일하면서 계획을 공유하고, 서로의 변경 사항이 미치는 영향을 예상하며, 충돌을 해결하는 능력을 본다. Humans&는 에이전트들이 같은 저장소에서 서로 충돌할 수 있는 기능을 함께 작업하는 CooperBench로 평가한다. 각 에이전트가 따로 기능을 완성했을 때의 성공률과 함께 작업했을 때의 성공률을 비교한다. Humans&가 실행한 평가에서 GLM 5.3의 성공률은 단독 작업 시 52.5%였지만 협력 작업에서는 17.3%로 떨어졌다. Ampersand는 작업 내내 파트너에게 먼저 소통하고 작업을 조율했으며, 협력 성공률은 39.0%였다.
개인과의 상호작용이 이어지면 모델은 그 사람에 관한 지식을 쌓게 된다. Humans&는 협력자가 어떤 정보를 공유하는 것이 도움이 되는지 판단해야 한다고 설명한다. 지나치게 정보를 감추면 도움이 되지 않지만, 너무 쉽게 공유하면 신뢰를 해칠 수 있다. 개인정보 보호 평가는 상황별로 어떤 정보를 제공할지 판단하는 능력을 측정한다. CIMemories 벤치마크에서는 모든 설정에서 모델이 사용자 정보를 보유한 채 일련의 대화에 참여하고, 평가자는 제공된 핵심 정보의 비율인 효용과 부적절하게 제공한 정보의 수인 위반을 측정한다.
훈련 방식과 기반 기술
Humans&는 여러 에이전트와 여러 사람이 참여하는 시뮬레이션에서 Ampersand를 훈련해 함께 일하는 사람과 그룹의 역량을 키우도록 했다고 밝혔다. 이런 환경에 맞춰 기존 후속 훈련 방식의 여러 요소를 다시 설계했다. 롤아웃을 표본 추출하는 방법부터 길고 비동기적인 롤아웃을 모델이 학습하는 방식까지 포함한다.
Persimmon으로 모의 사용자 구성
Humans&는 암묵적 목표와 프로필, 선호를 지닌 모의 사용자와의 상호작용을 통해 Ampersand를 훈련하고 평가한다. 시뮬레이션의 유용성은 모의 사용자가 인간 행동의 다양성과 역동성을 얼마나 반영하는지에 달려 있다. Humans&가 대규모로 훈련한 사용자 모델 Persimmon은 시뮬레이션에 실제 대화의 역동성을 더한다. Persimmon으로 만든 사용자는 Ampersand의 도움이 되지 않는 행동에 반박하고, 아첨하는 행동을 그대로 받아들이지 않으며, 의견과 목표를 바꾼다.
Humans&는 훈련 사례를 통해 모델이 사용자의 뜻을 거스르거나 필요할 때 조언하는 상황을 보여줬다. 이웃 두 사람이 진입로 보수 작업의 공을 누가 가져야 하는지 다투자 Ampersand는 그레타(Greta)에게 직접 대화를 해보거나, 원한다면 대화에 참여해 분위기를 조정하거나, 아예 물러날 수 있다고 제안했다. 그레타가 끼어들지 말라고 하자 Ampersand는 물러나겠다고 답했다.
친구에게 사과한 뒤 밤늦게 답장을 기다리는 데번(Devon)에게는 밤에는 기다림이 더 힘들고 모든 일이 더 어둡게 느껴질 수 있다고 말했다. 잠들어야 한다고 강요하지도 않았다. 함께 저녁을 준비하는 친구들이 음식을 냉장고에 나흘 동안 보관하려는 상황에서는 금요일 밤에 조리해 화요일에 내놓으면 튀긴 사모사와 난이 눅눅해지고, 익힌 쌀은 냉장고에 하루나 이틀 넘게 보관하는 것이 적절하지 않다고 지적했다. 톰아스(Tomás)가 날짜를 잘못 이해했다며 계획을 다시 세워야겠다고 하자 Ampersand는 가능한 분담안을 제시하겠다고 답했다.
장기 롤아웃의 오프폴리시 학습
Humans&는 비동기 강화학습(RL)으로 Ampersand를 훈련한다. 샘플러와 트레이너를 별도 장치에서 실행하고 토큰 처리량이 맞도록 구성해 훈련 중단을 줄이는 방식이다. 개방형 다중 턴 시뮬레이션에서 모의 사용자는 Ampersand와 번갈아 대화하며, 한 턴 안에 여러 도구 호출이 들어갈 수 있다. 이에 따라 한 에피소드가 여러 차례의 트레이너 업데이트에 걸쳐 이어지고, 샘플러와 트레이너 간 데이터의 오래된 정도는 에피소드마다, 한 에피소드 안의 턴마다 크게 달라진다. Humans&에 따르면 중요도 비율 클리핑과 마스킹 같은 표준 오프폴리시 보정은 이런 수준의 지연에서 불안정해진다.
OAPL 같은 오프폴리시 학습 방법은 중요도 샘플링 없이 큰 분포 변화를 다룰 수 있다. 시뮬레이션 시드 하나에서 얻은 궤적 G개 \(\{\tau_i\}\)와 보상 \(\{r_i\}\)가 주어졌을 때 OAPL은 다음 목적 함수를 사용한다.
[\mathcal{L}_{\text{OAPL}} = \sum_{i=1}^{G} \Big(\beta\,\ell(\tau_i) - \big(r_i - \hat V\big)\Big)^2, \qquad \hat V = \beta_1 \log \frac{1}{G}\sum_{j=1}^{G} e^{r_j/\beta_1}]
여기서 \(\ell(\tau) = \sum_{t} \log \frac{\pi_\theta(y_t \mid h_t)}{\mu(y_t \mid h_t)}\)는 트레이너 \(\pi_\theta\)와 샘플러 \(\mu\) 사이의 로그 비율을 Ampersand가 생성한 토큰 전체에 대해 합한 값이다. Humans&는 OAPL이 수학이나 코드 생성 같은 단일 턴 환경에서는 효과적이었지만 장기 환경에서는 효과가 떨어졌다고 밝혔다.
첫째, OAPL은 특정 시뮬레이션 시드에서 모델이 얼마나 잘 수행하는지 나타내는 추정치 \(\hat{V}\)에 맞춰 보정해야 한다. 사용자 모델의 행동이 무작위적이어서 이 값을 구하기 어려울 수 있다. 둘째, 롤아웃의 차이가 누적되며 트레이너와 샘플러 사이의 분포 변화가 크게 불균등해지고, 그 결과 오래된 데이터에 대한 정규화가 지나치게 강하거나 약해질 수 있다.
Humans&는 이 문제를 해결하기 위해 새로운 오프폴리시 학습 알고리즘인 대조 오프폴리시 보상 최적화(CORO)를 제안했다. CORO는 궤적끼리 비교해 \(\hat{V}\)에 맞추는 보정 자체를 없앤다.
[\mathcal{L}_{\text{OAPL}} = \underbrace{\sum_{i=1}^{G} \Big(\beta\big(\ell(\tau_i) - \bar\ell\big) - \big(r_i - \bar r\big)\Big)^2}_{\mathcal{L}_{\text{CORO}}} \;+\; \underbrace{G\,\big(\beta\,\bar\ell - \bar r + \hat V\big)^2}_{\text{calibration (noisy)}}]
또한 고정된 \(\beta\) 대신 정규화를 트레이너와 샘플러 사이의 분포 변화가 일정한 한도를 넘지 않도록 하는 방식으로 다룬다. 이때 \(\beta\)는 라그랑주 승수가 되며, 훈련 중 쌍대 상승법으로 조정된다.
인프라와 학습 조정
Humans&는 대규모 훈련을 위해 훈련 파이프라인의 속도와 안정성을 높이고, 훈련 도중 방향을 수정할 수 있도록 두 종류의 효율을 개선했다고 밝혔다. Ampersand는 Miles를 기반으로 한 다중 에이전트·장기 강화학습 프레임워크에서 훈련했다. 이 프레임워크는 모의 사용자, 평가자, Ampersand에 걸쳐 여러 트레이너와 샘플러를 조율한다.
긴 롤아웃의 비용을 낮추기 위해 Humans&는 이전 작업을 기반으로 빠르고 안정적인 NVFP4 강화학습 방식을 사용했고, 수치적으로 안정적인 희소 어텐션 커널을 적용했다. 훈련은 자체 보유한 하드웨어와 DeepInfra와 협력해 구축한 데이터센터에서 진행했다.
효율적인 훈련에도 보상 해킹과 다른 의도하지 않은 행동은 미리 예상하기 어렵다. 훈련이 끝난 뒤에야 이를 발견하면 비용이 많이 든다. Humans&는 학습 상황을 실시간으로 살피고 보상과 배치 구성 같은 매개변수의 조정을 제안하는 메타 최적화기를 사용했다. 이를 통해 비용이 큰 재시작 없이 의도하지 않은 행동을 바로잡으며 훈련 방향을 조정할 수 있다고 설명했다.
Humans&는 오픈소스 커뮤니티와 효율적인 학습 시스템과 모델을 함께 만든 데 감사를 표했다. Ampersand는 Z.ai가 공개한 GLM 5.3을 기반으로 훈련했다. Humans&는 Megatron-LM, SGLang, Miles를 활용해 계속 협력하고 개선 사항을 기여할 계획이라고 밝혔다. 엔비디아와 RadixArk의 오픈소스 작업 없이는 자사의 작업도 불가능했을 것이라고 덧붙였다.
API 이용 방법
Ampersand v0.1은 대기자 명단 없이 Agents API에서 이용할 수 있다. ampersand.humansand.ai에 로그인해 API 키를 발급받으면 된다. API는 OpenAI의 Agents API를 따르므로, 공식 OpenAI SDK에서 기본 URL을 Ampersand 주소로 지정해 사용할 수 있다. 토큰 가격과 계정 등급은 가격 및 이용 한도 안내에서 확인할 수 있다.
그룹 채팅에 Ampersand를 연결하는 방법은 세 가지다. 대화마다 세션을 하나씩 열면 세션이 대화 기록을 보관하므로 요청마다 새 메시지만 보내면 된다. 모든 메시지에는 발신자 이름을 넣어 누가 말했는지 알 수 있게 한다. 마지막으로 send_message와 pass 두 도구를 제공한다. 각 메시지를 받은 뒤 Ampersand는 답하거나 조용히 있을 수 있도록 둘 중 하나를 호출하고, 앱은 그 선택을 실행한다.
세션 생성 예시는 다음과 같다.
import os from openai import OpenAI client = OpenAI( base_url="https://ampersand.humansand.ai/v1", api_key=os.environ["AMPERSAND_API_KEY"], ) session = client.beta.agents.sessions.create( agent={ "model": "ampersand-v0.1", "tools": [send_message_tool, pass_tool], "ampersand": {"allow_silent_completion": False}, }, environment={"type": "none"}, input=[first_message], )
발신자 이름과 채널을 포함해 보내는 메시지 예시는 다음과 같다.
{ "role": "user", "content": [{ "type": "input_text", "text": "Let's do the launch rehearsal Friday at 10 with all three of us." }], "metadata": { "sender": "Maya", "channel": "group" } }
두 도구의 정의는 다음과 같다.
send_message_tool = { "type": "function", "name": "send_message", "description": "Send one message to the group chat. " "Plain text outside this tool is not delivered.", "parameters": { "type": "object", "properties": {"content": {"type": "string"}}, "required": ["content"], }, } pass_tool = { "type": "function", "name": "pass", "description": "Yield without a visible message when no useful " "action is available now. Call pass on its own.", "parameters": {"type": "object", "properties": {}, "required": []}, }
Humans&는 Ampersand가 메시지를 받으면 말할지 지나갈지를 결정하도록 훈련했다고 설명했다. 아래 재현 대화에서는 아무도 Ampersand에게 직접 질문하지 않는다.
- 샘: “금요일에 못 나가. 여동생을 차로 데려다줄 거야.” Ampersand는 응답하지 않는다.
- 알렉스: “좋은 여행 되길!” Ampersand는 응답하지 않는다.
- 마야: “우리 셋이 금요일 오전 10시에 출시 리허설을 하자.”
- Ampersand: “마야, 잠깐 짚고 넘어갈게. 샘이 금요일에 여동생을 데려다주러 가서 자리를 비운다고 했으니, 우리 셋이 금요일 오전 10시에 리허설을 하기는 어려울 것 같아. 모두 참석할 수 있도록 시간을 다시 정하는 게 좋을 것 같아.”
Humans&는 사람들이 함께 세상을 바꾼다며, 사람들이 함께 더 나은 삶과 일을 누리도록 돕는 협력자로 Ampersand를 만들었다고 밝혔다. 현실적이고 장기적이며 개방적인 시뮬레이션의 피드백을 강화학습에 확대 적용하면 사람을 더 잘 이해하는 협력형 모델로 이어질 것이라고 믿는다고 설명했다. Ampersand의 사양과 의도된 사용, 평가 및 한계는 모델 카드에서 확인할 수 있다.
댓글 (0)
로그인하면 이 기사에 내 생각을 남길 수 있어요