--- license: apache-2.0 base_model: Qwen/Qwen3.5-0.8B library_name: peft language: [ko] pipeline_tag: reinforcement-learning tags: [reinforcement-learning, decision-making, connect-tycoon, connect-ai-lab, connectailab, lora, qwen3.5] --- # connectailab-rl-coevolution-v1 공개 회사 시뮬레이터의 상황·질문·선택지를 읽고 선택지 글자 하나를 고르는 학습 실습 모델입니다. `Qwen/Qwen3.5-0.8B`에 붙이는 LoRA 어댑터이며, 기본 모델은 별도로 필요합니다. 계정: **hiro-coevolution** · 모델 이름: **coevolution** · 실습일: **2026-10-14 KST** ## 만든 방법 [CONNECT TYCOON](https://github.com/wonseokjung/connect-tycoon/tree/98f96431195dfd7e0e3f1cd59ce7a500c92ee935)의 [Qwen 학습 노트](https://github.com/wonseokjung/connect-tycoon/blob/98f96431195dfd7e0e3f1cd59ce7a500c92ee935/notebooks/rl_decision_model_qwen_colab.ipynb)를 재현했습니다. 회사 유형은 general, 이익·고객 만족·위험 가중치는 각각 1입니다. 1. 로컬에서 작은 정책을 모방학습 40개월, PPO 60회 × 24개월로 학습하고 `coevolution-v1` 선생님으로 저장했습니다. 2. 선생님으로 학습 4,082개, 검증 832개, 시험 840개 문제를 만들었습니다. 각 선택지를 시뮬레이터에서 평가하며, 아침 판단에는 선생님 답을 사용합니다. 3. 필터링한 3,440개 문제로 LoRA 지도학습을 했습니다: 1 epoch, 430 steps, batch 8, rank 8, lr 1e-4. 4. 선택지 점수와 출발 모델에 대한 KL 항으로 추가 학습했습니다: 100 steps, batch 8, lr 5e-6, beta 0.2, 최대 1,500개 문제. 언어 모델 단계는 이 보상/KL 방식이고, PPO는 선생님 정책 단계에 사용했습니다. 학습 seed는 0, GPU는 무료 Colab Tesla T4였습니다. 사용한 버전은 torch 2.11.0+cu130, transformers 5.18.0, peft 0.21.1입니다. 기본 모델의 정확한 다운로드 revision은 실행 기록에 남지 않아 미확인입니다. ## 같은 840개 문제로 비교 | 단계 | 정답률 | 최고 점수 대비 부족분(작을수록 좋음) | |---|---:|---:| | 학습 전 | 29.17% | 2.36524 | | 지도학습 | 84.29% | 1.47377 | | 추가 강화학습 | 84.17% | 1.42432 | 추가 학습에서 정답률은 0.12%p 낮아졌고 점수 부족분은 줄었습니다. `qwen-results.json`에 원래 수치를 보관했습니다. ## 회사 운영 시험 처음 보는 같은 2개월(seed 7000, 7001)의 평균입니다. 이익은 시뮬레이터의 만원 단위이며 실제 수익이 아닙니다. | 운영 정책 | 월 이익 | 고객 만족 | 사고 수 | |---|---:|---:|---:| | 규칙 | 548.205 | 0.78252 | 7.5 | | 선생님 정책 | 1,362.225 | 0.95342 | 2.0 | | 이 Qwen 어댑터 | 892.215 | 0.97705 | 12.0 | Qwen은 규칙보다 이익이 높았지만 선생님보다 낮았고 사고도 많았습니다. 2개월뿐인 작은 시험입니다. 40개월 로컬 정책 시험과는 별도로 비교했습니다. ## 카드 거래 시험과 저장 확인 공개 카드 거래 713건 중 사기 177건에서 **147건 탐지(83.05%)**, **30건 놓침**, **정상 거래 69건 차단**, 사람 검토 0건이었습니다. 전부 승인했을 때의 손실 대비 **72.55%**를 줄였습니다. 탐지율과 손실 감소율은 서로 다른 수치입니다. 손실·차단 비용은 시뮬레이터의 가정으로 계산했습니다. 저장한 어댑터를 다시 불러온 뒤 위 카드 시험의 요약이 원래 결과와 같음을 확인했습니다. 별도의 시험 문제 5개에서는 선택과 확률 벡터가 동일했고 최대 차이는 모두 0이었습니다. 840개 전체를 두 번째로 재평가한 것은 아닙니다. ## 사용 예 ```python from connect_tycoon.llm.train_torch import Scorer scorer = Scorer(adapter="hiro-coevolution/connectailab-rl-coevolution-v1") task = { "state": "회사 및 판단에 필요한 상황", "question": "어느 선택지를 고를까요?", "options": [ {"label": "A", "key": "option_a", "description": "첫 번째 선택"}, {"label": "B", "key": "option_b", "description": "두 번째 선택"}, ], } print(scorer.pick(task)) ``` 입력은 CONNECT TYCOON의 task 형식입니다. 선택지 글자의 확률을 비교해 답을 고르며, 일반 대화 성능을 측정한 모델은 아닙니다. 공식 소스의 고정 commit과 실행 환경은 `run-manifest.json`에 기록했습니다. 파일별 SHA256은 `SHA256.json`에 있습니다. ## 출처와 적용 범위 기본 모델: [Qwen/Qwen3.5-0.8B](https://huggingface.co/Qwen/Qwen3.5-0.8B) · 시뮬레이터·학습 코드: CONNECT AI LAB × AI CITY BUILDERS의 [CONNECT TYCOON](https://github.com/wonseokjung/connect-tycoon). 공개 시뮬레이터와 공개 시험 자료를 사용한 연구·교육 실습입니다. 개인 업무 문서·메일·계정 인증정보는 학습 및 공개 파일에 포함하지 않았습니다. 단일 seed와 제한된 시험으로 실제 회사의 판단 성능이나 여러 모델 연결 효과를 입증하지 않습니다. 라이선스: Apache-2.0. 원 제작 코드의 LICENSE를 함께 포함합니다.