How uniopen customized Amazon Nova to their retail moderation policies for production deployment
Quick Summary
uniopen은 Amazon Nova 2 Lite를 자사 소매 콘텐츠 검토 정책에 맞게 지도 미세조정하고 출력 프롬프트를 최적화해, 행동 분류와 대상 유형 분류의 두 운영 목표를 모두 충족했다.
🖼️ 인포그래픽

🖼️ 4컷 인포그래픽

💡 한 줄 요약
uniopen은 Amazon Nova 2 Lite를 자사 소매 콘텐츠 검토 정책에 맞게 지도 미세조정하고 출력 프롬프트를 최적화해, 행동 분류와 대상 유형 분류의 두 운영 목표를 모두 충족했다.
📌 핵심 요약
- 대만 Uni-President Enterprises Group이 출시한 uniopen은 웹·태블릿·모바일의 고객 상호작용을 9개 행동 범주와 3개 대상 유형인 brand·other·forbidden으로 분류하며, 유용한 검토 결정을 위해 두 축이 모두 정확해야 한다.
- Amazon Nova 2 Lite가 운영 요청을 처리하고 Amazon Nova 2 Pro가 신고된 오류의 수정 후보를 생성하지만, 학습 데이터에 포함할 수정은 반드시 사람이 검증한다. Amazon S3, Amazon DynamoDB, Amazon EKS의 Argo Workflows, Argo CD 등이 데이터·평가·배포를 연결한다.
- 학습 데이터는 대화 구간 3,391개이며, 세 구성은 동일한 별도 평가 데이터 737개로 비교했다. 기본 모델의 Per Behavior Macro F1은 0.5852, Subject Type Macro F1은 0.4162로, uniopen의 분류 체계를 운영에 충분한 수준으로 학습하지 못했다.
- Amazon SageMaker AI에서 LoRA 기반 지도 미세조정 후 두 지표는 각각 0.8364와 0.8302로 상승했다. 추가 학습 없이 출력을 JSON에서 줄 단위 형식으로 바꾸고 복수 행동의 반환 방식을 명확히 하자 0.8550과 0.8491에 도달해, 운영 목표인 0.8500과 0.8200을 모두 초과했다.
- 필수 회귀 검사를 통과하지 못하면 배포를 중단하고, 낮은 신뢰도나 특정 클래스의 성능 하락 경고가 있으면 관리자 승인을 요구한다. uniopen은 두 지표를 운영 게이트로 유지하고, 모호한 사례의 사람 검토와 실제 트래픽의 새로운 경계 사례 수집을 이어갈 계획이다.
🧩 주요 포인트
- 행동과 대상 유형을 각각 Macro F1으로 평가하고 두 운영 목표를 함께 적용 → 한 축의 개선이 다른 축의 약점을 가리는 것을 방지한다.
- 지도 미세조정이 가장 큰 성능 향상을 만들고 출력 프롬프트 변경이 남은 차이를 줄임 → 업무별 학습 사례와 출력 지침의 개선이 서로 보완적으로 작용한다.
- 사람이 검증한 수정과 필수·경고 게이트를 배포에 연결하고 실제 트래픽의 경계 사례를 수집 → 불확실한 사례의 사람 판단을 유지하면서 다음 프롬프트 변경이나 미세조정의 필요성을 판단한다.
🧠 상세 정리
1. uniopen의 서비스와 업무별 분류 과제
uniopen은 대만 Uni-President Enterprises Group이 출시한 디지털 커뮤니케이션·멤버십 플랫폼으로, 웹·태블릿·모바일에서 전자상거래와 멤버십 혜택 등 소매 경험을 연결한다. 이 채널들에 적용되는 콘텐츠 검토 정책은 각 상호작용을 어떤 행동이 발생했는지와 그 행동이 무엇을 대상으로 하는지라는 두 축으로 분류한다. 행동은 9개 범주이며, 대상 유형은 brand·other·forbidden의 세 가지로 구분된다. 유용한 검토 결정을 내리려면 두 축이 모두 정확해야 하지만, 이 분류 체계는 uniopen의 사업에 특화되어 있어 범용 모델이 기본 상태에서 충분히 이해한다고 기대하기 어렵다. 팀은 Amazon Nova 2 Lite의 지도 미세조정과 최종 출력 프롬프트 최적화를 통해 이 문제에 대응했으며, 채널별 상호작용 형식과 주제가 달라져도 동일한 분류 체계와 배포 기준을 적용하도록 구성했다.
2. 운영 요청과 수정·학습 경로의 분리
솔루션은 실제 콘텐츠 검토 요청을 처리하는 경로와 오류 수정, 학습, 평가, 배포 경로를 분리한다. Amazon Nova 2 Lite가 주된 검토 요청을 처리하고, 사용자가 오류를 신고하면 Amazon Nova 2 Pro가 수정 후보 라벨의 생성을 지원하지만, 사람이 검증한 수정만 학습 데이터에 들어갈 수 있다. 승인된 수정 사례와 학습 데이터는 Amazon S3에 저장되며, Amazon DynamoDB는 현재 운영 중인 모델과 후보 모델의 구성 정보를 추적한다. Amazon EKS에서 실행되는 Argo Workflows는 수정 데이터를 읽어 후보 프롬프트나 맞춤 모델을 만들고 프롬프트 최적화·평가·배포를 조율하며, Argo CD는 승인된 구성을 운영 환경에 적용한다. 후보가 필요한 게이트를 통과한 뒤에만 DynamoDB를 갱신하는 이 흐름은 생성된 라벨을 정답으로 간주하지 않으면서 업무별 모델 동작을 개선하도록 설계됐다.
3. 배포 게이트와 사람 검토를 통한 통제
후보의 운영 반영 여부는 반드시 통과해야 하는 회귀 검사인 하드 게이트와 경고 신호를 확인하는 소프트 게이트로 결정한다. 하드 게이트가 실패하면 워크플로를 중단하고 알림을 보내며, Amazon SNS와 Amazon CloudWatch는 실패나 후보에 대한 운영자의 주의가 필요한 상황을 알리는 데 사용된다. 하드 게이트를 통과한 후보에 낮은 신뢰도나 특정 클래스의 성능 하락 같은 소프트 게이트 경고가 없으면 자동으로 승격할 수 있지만, 경고가 있으면 보류 상태에서 관리자 검토와 승인을 받아야 한다. 모호한 사례와 학습에 재사용할 수정에는 사람 검토가 필수이며, 고정된 평가 데이터와 회귀 검사는 품질이 떨어진 후보의 자동 승격을 막는다. 추가로 팀은 Amazon Bedrock Guardrails의 입력·출력 콘텐츠 필터를 적용하고, 범주별 오류를 관찰하며, 보관 고객 데이터를 최소화하고 정책 변경에 따라 임계값을 재검증할 수 있다.
4. 동일한 평가 데이터와 두 지표로 확인한 기본 모델의 한계
평가 단위인 대화 구간은 고객 대화에서 경계를 정해 하나의 학습 또는 평가 사례로 취급하는 부분이며, 학습 데이터에는 3,391개 구간이 포함됐다. 기본 모델, 미세조정 모델, 프롬프트까지 최적화한 미세조정 모델은 모두 동일한 별도 평가 데이터 737개 구간으로 비교됐다. Per Behavior Macro F1은 9개 행동 범주에 같은 비중을 부여하므로 흔하거나 쉬운 범주의 높은 성능이 어려운 범주의 약점을 가리지 않게 한다. Subject Type Macro F1은 brand·other·forbidden에 같은 비중을 부여해 행동이 가리키는 대상을 얼마나 일관되게 이해하는지 측정하며, 두 지표는 모두 0~1 척도를 사용한다. 기본 Amazon Nova 2 Lite의 점수는 각각 0.5852와 0.4162로, 유용한 출발점은 제공했지만 uniopen의 분류 체계를 운영에 충분한 수준으로 익히지는 못했다.
5. Amazon SageMaker AI 지도 미세조정의 효과
팀은 Amazon SageMaker AI에서 Low-Rank Adaptation인 LoRA를 사용해 Amazon Nova 2 Lite를 지도 미세조정했다. 이 과정은 프롬프트 지침에만 의존하는 대신 업무에 특화된 학습 사례로 모델이 uniopen의 분류 체계를 익히도록 하는 접근이었다. 학습 작업 기록에는 기본 모델, 맞춤화 기법, 학습 데이터 위치, 실행 시간과 진행 상황이 남아 감사와 반복 실행을 지원한다. 미세조정 후 Per Behavior Macro F1은 0.5852에서 0.8364로, Subject Type Macro F1은 0.4162에서 0.8302로 상승했으며, 전체 최적화 단계 중 가장 큰 성능 향상이 이 단계에서 발생했다. 대상 유형 지표는 운영 목표를 이미 초과했지만 행동 분류 지표는 목표에 가까워진 상태였으므로, 두 축의 결과를 별도로 확인하는 평가 방식이 남은 개선 지점을 드러냈다.
6. 추가 학습 없이 수행한 출력 프롬프트 최적화
미세조정 이후 팀은 모델 출력을 JSON에서 줄 단위 형식으로 단순화하고, 여러 행동이 있을 때 이를 어떻게 반환해야 하는지 프롬프트에서 명확히 했다. 이 변경에는 추가 모델 학습이 필요하지 않았으며, 이미 미세조정한 모델의 출력 방식과 반환 지침을 조정하는 단계였다. 그 결과 Per Behavior Macro F1은 0.8364에서 0.8550으로, Subject Type Macro F1은 0.8302에서 0.8491로 추가 상승했다. 최종 점수는 행동 분류의 운영 목표인 0.8500과 대상 유형 분류의 운영 목표인 0.8200을 모두 초과했으며, 앞선 미세조정 단계에서 남아 있던 행동 분류 목표와의 차이도 해소됐다. 원문은 출력 형식 단순화와 복수 행동 반환 지침의 명확화를 함께 적용한 결과를 제시하므로, 각각의 변경이 성능 향상에 얼마나 기여했는지는 따로 구분하지 않는다.
7. 단계별 결과와 운영 검토 방식의 변화
세 단계의 비교는 기본 모델에서 행동 탐지와 대상 이해가 모두 부족했고, 지도 미세조정이 특히 대상 유형 이해를 크게 개선했으며, 마지막 프롬프트 변경이 두 지표를 운영 목표 위로 끌어올렸다는 흐름을 보여준다. 행동 지표는 0.5852→0.8364→0.8550, 대상 유형 지표는 0.4162→0.8302→0.8491로 변했으며, 모두 같은 평가 데이터에서 얻은 결과다. 두 지표를 함께 배포 게이트로 사용함으로써 한 차원의 개선이 다른 차원의 성능 저하를 가리지 않도록 했다. 두 지표가 배포 목표를 충족한 뒤 uniopen은 일상적인 콘텐츠 검토를 맞춤 모델 경로로 보내고, 사람 검토를 모호한 사례에 집중할 수 있게 됐다. 원문은 이 운영 방식이 불필요한 상위 검토 이관을 줄이면서 불확실하거나 정책에 민감한 콘텐츠에 대한 사람의 판단 지점을 유지한다고 설명하지만, 이관 감소량에 대한 수치는 제시하지 않는다.
8. 실제 트래픽을 활용한 후속 개선과 반복 가능한 접근
팀은 앞으로도 Per Behavior Macro F1과 Subject Type Macro F1을 운영 게이트로 유지할 계획이다. 실제 트래픽에서 새로운 경계 사례를 수집하고, 그 사례를 근거로 다음 개선이 프롬프트 변경이어야 하는지 아니면 표적화된 추가 미세조정이어야 하는지 판단하려 한다. 같은 평가 방식은 다른 소매 콘텐츠 검토 시나리오로도 확장할 수 있으며, 사람 검토자는 계속 모호한 사례에 집중한다는 방향을 제시한다. 사례의 결론은 업무에 맞는 평가로 기반 모델의 적응이 필요한 차원을 확인하고, 약한 차원에 맞춘 변경을 적용한 뒤 모든 배포 게이트를 통과한 경우에만 운영에 반영하는 반복 가능한 접근이다. 관련 기법과 통제 수단으로 Amazon SageMaker AI, Amazon Nova 미세조정, 콘텐츠 검토용 프롬프트와 Amazon Bedrock Guardrails 문서를 안내하며, 모델의 이용 가능 여부는 AWS Region에 따라 달라진다는 제약도 명시한다.
🧾 핵심 주장 / 시사점
- uniopen처럼 행동과 대상의 정확성이 함께 필요한 업무에서는 두 Macro F1을 별도 운영 게이트로 두는 방식이 단일 성능 개선에 가려질 수 있는 약점을 드러낸다.
- Amazon SageMaker AI의 지도 미세조정이 가장 큰 개선을 만들었지만, 최종 운영 목표 충족에는 추가 학습 없는 출력 프롬프트 최적화도 기여했다.
- Amazon Nova 2 Pro의 수정 후보 생성은 사람 검증과 결합되어야 학습 데이터로 활용되며, 배포 게이트와 모호한 사례의 사람 검토가 지속적인 개선을 통제한다.
✅ 액션 아이템
- Per Behavior Macro F1 0.8500과 Subject Type Macro F1 0.8200을 함께 운영 게이트로 유지한다.
- Amazon Nova 2 Pro가 생성한 수정 후보는 사람 검증을 거쳐 학습 데이터에 반영하고, 모호한 사례의 사람 검토를 유지한다.
- 실제 트래픽의 새로운 경계 사례를 수집해 다음 프롬프트 변경이나 미세조정의 필요성을 판단한다.
❓ 열린 질문
- 실제 트래픽의 새로운 경계 사례는 프롬프트 변경과 추가 미세조정 중 어느 접근의 필요성을 보여주는가?
- 낮은 신뢰도와 특정 클래스의 성능 하락을 소프트 게이트 경고로 판단하는 기준은 무엇인가?
- Per Behavior Macro F1과 Subject Type Macro F1의 운영 목표를 충족한 이후 모호한 사례의 사람 검토는 얼마나 필요한가?