채용이라는 개념 위에 지식 그래프 구조를 겹쳐 놓은 깔끔한 편집 일러스트로, 기술과 역할을 눈에 보이는 추적 가능한 경로로 연결해 불투명성과 대비되는 투명성을 보여준다.
Artificial IntelligenceHiringMachine Learning

아마존은 스스로 여성을 혐오하도록 학습한 AI 채용 담당자를 만들었다. 나는 그럴 수 없는 것을 만들었다.

Ashutosh SinghalAshutosh Singhal2026년 2월 11일12 min

2014년, 에든버러의 머신러닝 엔지니어 팀이 아마존 규모의 채용 문제를 풀기 위해 모여 앉았다. 시스템에 이력서 100장을 넣으면 상위 다섯 명을 별 하나부터 다섯까지 매겨 돌려준다 — 마치 제품에 평점을 매기듯이. 우아하다. 효율적이다. 그리고 3년 안에, 그들은 이 시스템이 여성이라는 사실을 결격 요소로 스스로 학습했다는 것을 발견했다.

이 AI는 "여성의(women's)"라는 단어가 포함된 이력서에 불이익을 주었다 — 예를 들어 "여성 체스 클럽 회장"처럼. 두 곳의 여자대학 졸업생을 강등시켰다. 누가 그렇게 하라고 지시해서가 아니다. 남성 중심 산업의 10년치 채용 데이터로 모델을 학습시키면, 통계적으로 "남성이라는 것"이 "채용된다는 것"의 가장 강력한 예측 변수 중 하나가 되기 때문이다.

로이터의 폭로 기사가 터졌을 때 그것을 읽던 기억이 난다. 나는 이미 Veriprajna(베리프라즈나)에서 지식 그래프 시스템 구축에 깊이 몰두해 있었고, 나의 첫 반응은 충격이 아니라 — 알아차림이었다. 나는 통계적 상관관계 엔진이 인간의 잠재력에 관한 결정을 내릴 자격이 없다고 몇 달째 주장해 오던 참이었다. 아마존 사례는 이상 현상이 아니었다. 그것은 수학적 필연이었다. 그리고 그것은 나를, AI 채용에 대한 아키텍처적 접근 전체가 — 가장자리가 아니라 근본에서 — 망가져 있다고 믿게 만들 만큼 급진화시켰다.

문제는 편향이 아니다. 아키텍처다.

대부분의 사람들이 아마존 참사에 대해 오해하는 것은 이것이다: 그들은 엔지니어들이 부주의했다고 생각한다. 그들은 그렇지 않았다. 그들은 지구상에서 가장 뛰어난 ML 엔지니어들 중 일부였다. 성별 편향을 발견했을 때, 그들은 그것을 고치려 했다. 그들은 성별에 특정된 용어를 무시하도록 모델을 명시적으로 프로그래밍했다. 그리고 모델은 우회로를 찾아냈다.

이것이 바로 프록시 변수라는 개념이며, 그것이 나를 밤잠 못 이루게 하는 것이다. 딥러닝 모델은 집요한 패턴 탐색기다. 입력에서 "여성"이라는 단어를 제거하면, 모델은 문장 구조에 달라붙는다. 연구에 따르면 남성 이력서는 "실행했다(executed)"나 "확보했다(captured)" 같은 동사를 쓰는 경향이 있고, 여성 이력서는 더 공동체적인 언어로 기운다. 모델은 "실행했다"가 "채용됨"과 상관관계가 있음을 보고, 언어만으로 조용히 성별 편향을 재구성한다.

아마존의 엔지니어들은 모델의 예측 능력을 파괴하지 않고서는 편향을 외과 수술처럼 제거할 수 없었다. 그래서 그들은 프로젝트 전체를 폐기했다.

우연히 차별하는 시스템은 고칠 수 없다. 설계상 차별할 수 없는 시스템을 만들어야 한다.

그 문장은 지난 3년간 나의 북극성이었다. 그리고 그것이 우리가 Veriprajna의 채용 엔진을 신경망이 아닌 지식 그래프 위에 구축한 이유다.

왜 모든 AI 채용 담당자는 결국 차별하는 법을 배우게 되는가?

채용에서 딥러닝이 어떻게 작동하는지에 대해 당신이 이해했으면 하는 것이 있다. 왜냐하면 그 실패 방식이 직관에 반하기 때문이다.

신경망은 "Python"이 무엇을 의미하는지 이해하지 못한다. Python이 데이터 과학에 유용한 프로그래밍 언어라는 것을 알지 못한다. 오직 채용된 사람들의 이력서에 "Python"이라는 문자열이 자주 등장했다는 것만 안다. 만약 "라크로스"도 자주 등장했다면 — 아마도 특정 스포츠와 특정 학교, 그리고 특정 기업으로 이어지는 사회경제적 상관관계 때문에 — 모델은 "라크로스"를 "Python"만큼 무겁게 가중할지도 모른다.

이것은 지능을 가장한 상관관계다. 모델은 원인과 결과에 대해 추론하지 않는다. 패턴을 찾아 그것에 최적화할 뿐이다. 그리고 여기 음흉한 부분이 있다: 편향 증폭이란 이 모델들이 역사적 편향을 단지 복제하는 데 그치지 않고 — 그것을 과장한다는 것을 의미한다. 학습 데이터에서 남성이 인력의 60%였다면, 모델은 정확도 점수를 극대화하기 위해 남성을 80%나 90%까지 채용하도록 밀어붙일 수 있다.

초창기에 어느 잠재 투자자와 나눈 대화가 있다. 그는 내게 이렇게 말했다. "그냥 이력서 심사에 GPT-4를 쓰세요. 다른 사람들도 다 그러니까." 나는 그에게 물었다. 같은 이력서를 GPT-4에 두 번 넣으면 같은 점수가 나오느냐고. 그는 잠시 멈칫했다. 답은 아니오다 — LLM은 확률적이다. 비결정적이다. 같은 입력을 두 번 돌리면 두 개의 다른 출력이 나온다. 감사(audit) 상황에서 그것은 특이한 성질이 아니다. 그것은 컴플라이언스 실패다.

규제의 벽이 좁혀 오고 있다

이것은 더 이상 이론이 아니다. 정부들은 아마존 사례를 보았고 입법에 나서고 있다.

뉴욕시 지방법 144호(NYC Local Law 144)는 2023년 7월부터 시행되며, 자동화된 고용 결정 도구를 사용하는 모든 고용주에게 매년 독립적인 편향 감사를 받도록 요구한다. 모호하게 "우리는 공정성을 확인했다"는 식의 감사가 아니라 — 구체적이고 정량적인 감사다. 이 법은 인종, 민족, 성별의 모든 범주에 대해 선발률(selection rates)영향 비율(impact ratios)을 계산하도록 의무화한다. 보호 집단의 선발률을 가장 많이 선발된 집단의 선발률로 나눈 값이 0.8 아래로 떨어지면 — 이른바 "5분의 4 규칙" — 그것은 차별적 영향(disparate impact)의 일응(prima facie) 증거가 된다.

EU 인공지능법(EU AI Act)은 한발 더 나아간다. 채용에 사용되는 AI 시스템을 고위험(High-Risk)으로 분류한다 — 의료 기기 및 핵심 인프라와 동일한 범주다. 제13조는 이 시스템들이 "사용자가 시스템의 출력을 해석할 수 있을 만큼 충분히 투명할" 것을 요구한다. 제14조는 인간의 감독 — AI 결정을 무효화할 수 있는 능력 — 을 요구한다. 그러나 이해하지 못하는 결정을 의미 있게 무효화할 수는 없다.

그리고 GDPR 제15조 1항 (h)호는 정보주체에게 자동화된 결정에 "관련된 논리에 대한 의미 있는 정보"에 접근할 권리를 부여한다. 전문(前文) 제71항은 "내려진 결정에 대한 설명을 받을" 권리를 명시적으로 언급한다.

신경망의 결정을 설명해 보라. 어디 한번 해 보라. "뉴런 4,502번이 강도 0.8로 발화했다"는 것은 의미 있는 설명이 아니다. "모델이 당신을 73% 일치로 판단했다"는 것도 더 이상의 세부 사항이 없다면 마찬가지다.

기술적 복잡성과 단순한 설명에 대한 법적 요구 사이의 간극이 현대 HR 테크의 핵심 위기다.

나는 이 규제 지형에 대해 우리 백서의 인터랙티브 버전에서 더 깊이 다루었으며, 그 글은 각 규제가 서로 다른 AI 아키텍처에 정확히 어떻게 적용되는지를 짚어 나간다.

AI가 성별을 아예 볼 수 없다면 어떨까?

여기서 나는 모든 것이 딱 맞아떨어졌던 그 밤에 대해 당신에게 이야기해야겠다.

우리는 편향 제거에 대한 여러 접근법을 실험하고 있었다 — 적대적 학습(adversarial training), 반사실적 증강(counterfactual augmentation), 흔히 쓰는 도구들 말이다. 그리고 나는 밤 11시에 우리 사무실에 앉아 화면 속 그래프 시각화를 응시하고 있었다. 그때 돌이켜보면 뻔한 그런 깨달음 중 하나가 왔다: 우리는 모델에게 편향을 무시하도록 가르치려 하고 있었다. 만약 편향이 애초에 추론 엔진에 들어올 수조차 없는 아키텍처를 만든다면 어떨까?

지식 그래프에서 데이터는 노드(nodes)(개체)와 엣지(edges)(관계)로 저장된다. 사람(Person) 노드는 기술(Skill) 노드에 연결된다. 기술 노드는 의미론적 관계를 통해 다른 기술 노드에 연결된다. 그래프는 "PyTorch"가 "딥러닝"을 위한 라이브러리이며, 딥러닝이 "인공지능"의 부분집합임을 안다. 그래서 어떤 직무가 "AI 경험"을 요구하고 지원자가 "PyTorch"를 기재했다면, 그래프는 경로를 추적해 일치점을 찾아낸다 — 이력서 어디에도 "AI"라는 키워드가 등장하지 않더라도 말이다.

여기 결정적인 아키텍처적 결정이 있다: 우리의 매칭 알고리즘이 실행될 때, 그것은 제한된 하위 그래프 위에서 작동한다. 이 추론 그래프(inference graph)는 기술(Skills), 역할(Roles), 경력 수준(Experience levels), 자격증(Certifications)을 담는다. 그것은 이름, 성별, 민족, 주소, 졸업 일자에 대한 노드를 명시적으로 배제한다.

편향은 억제되는 것이 아니다. 그것은 구조적으로 절단된다. 알고리즘이 볼 수 있는 그래프 안에 성별 노드가 존재하지 않기 때문에 "지원자"에서 "성별"을 거쳐 "역할"로 가는 경로가 없다.

이것을 딥러닝 모델과 비교해 보라. 딥러닝 모델은 원문 텍스트 전체를 삼킨다. "성별" 필드를 제거하더라도, 모델은 "여성 체스 클럽"을 읽고 성별을 추론한다. 우리 시스템에서는 이력서를 파싱하는 LLM이 "여성 체스 클럽"을 중립화된 노드로 매핑한다: (:Activity {type: "Strategy Club", role: "Leadership"}). 성별을 나타내는 수식어는 추론 엔진에 들어오기 전에 제거된다.

이에 관한 팀 내 논쟁이 기억난다. 우리 엔지니어 중 한 명이 강하게 반박했다 — 그는 맥락을 벗겨냄으로써 우리가 귀중한 신호를 잃고 있다고 생각했다. "만약 그 여성 체스 클럽이 실제로 일반 클럽보다 더 경쟁적이라면 어쩌죠?" 일리 있는 지적이다. 하지만 우리는 최대 정보 추출을 위해 최적화하고 있던 것이 아니었다. 우리는 법적 검증 아래에서의 공정성을 위해 최적화하고 있었다. 그리고 나는 한계적인 신호 하나를 놓칠지언정, 인구의 절반에게 불이익을 주는 법을 배우는 시스템을 만들지는 않겠다.

편향 없이 인재를 실제로 어떻게 측정하는가?

기술이 의미론적으로 어떻게 연결되는지 보여주는 레이블이 붙은 지식 그래프 조각으로, Docker에서 Kubernetes로 이어지는 경로와 기술 거리 점수 개념의 구체적 예시를 담고 있다.

우리는 누가 성공할지를 예측하지 않는다. 우리는 기술 거리(skill distance)를 측정한다 — 지원자가 가진 것과 직무가 요구하는 것 사이의 기하학적 간극이다. 이것은 채용을 주관적 확률에서 객관적 측정으로 옮긴다.

전통적인 지원자 추적 시스템(applicant tracking system)은 불리언 논리를 사용한다: 이력서에 "Java"라는 키워드가 포함되어 있는가? 예 또는 아니오. 이것은 취약하고 어리석다. 같은 역량을 다른 용어로 표현하는 모든 사람을 놓친다.

우리는 그래프 임베딩(graph embeddings)을 사용한다 — 우리 온톨로지의 모든 기술에 대한 벡터 표현을 학습하는 Node2Vec 같은 알고리즘이다. 그래프에서 자주 함께 등장하는 기술들(예: "Python"과 "Pandas")은 벡터 공간에서 서로 가까이 자리 잡는다. 서로 무관한 기술들(예: "Python"과 "채혈(Phlebotomy)")은 멀리 떨어진다.

지원자의 점수를 매기기 위해, 우리는 지원자의 기술 벡터 집합과 직무의 요구 벡터 집합 사이의 코사인 유사도(cosine similarity)를 계산한다. 이것이 부분 점수를 부여한다. "Tableau"는 없지만 "Power BI"를 가진 지원자는 그 노드들이 "비즈니스 인텔리전스" 클러스터 안의 의미론적 이웃이기 때문에 높은 유사도 점수를 받는다. 키워드 검색이라면 그들에게 0점을 줄 것이다.

우리는 원시 기술 중첩을 위한 자카드 유사도(Jaccard similarity)와 격차 분석을 위한 측지 거리(geodesic distance) — 그래프를 통과하는 최단 경로 계산 — 를 겹겹이 얹는다. 어떤 직무가 Kubernetes를 요구하고 지원자가 Docker를 가지고 있다면, 그래프는 경로를 찾는다: Docker → 컨테이너화 → 오케스트레이션 → Kubernetes. 거리: 3홉(hop). 해석: 훈련 가능. 거리가 6홉 이상이라면, 그것은 극복하기 어려운 격차다.

최종 기술 거리 점수는 순전히 역량에 기반한 지표이며, 인구통계에 대해 완전히 눈이 멀어 있다. 우리는 누가 뛰어난지를 추측하지 않는다. 그들이 얼마나 가까운지를 측정한다.

이 알고리즘들에 대한 전체 기술적 상세 — 코사인 유사도 뒤의 수학과 우리의 복합 점수 모델을 포함하여 — 는 우리 연구 논문을 참조하라.

"SQL 없음"의 순간

테스트 중에 있었던 일로 이것을 구체화해 보겠다.

우리는 하나의 지원자 프로필을 표준 블랙박스 채용 도구와 우리 시스템 양쪽에 돌렸다. 블랙박스는 그 지원자를 탈락시켰다. 이유는 제시되지 않았다. (우리는 나중에 그 지원자가 규모가 작고 덜 알려진 대학을 다녔음을 알아냈다 — 전형적인 학벌 페널티다.)

우리 시스템은 이렇게 반환했다: "지원자는 명시적인 SQL 경험이 부족합니다. 그러나 그래프 분석은 Pandas DataFrames와 R dplyr에 대한 폭넓은 경험을 보여줍니다. DataFrames와 SQL 사이의 그래프 거리는 짧습니다(공유 개념: 데이터 조작). 권장: 면접. 높은 전이 가능성."

그 지원자는 — 블랙박스가 내던져 버린 그 사람은 — 직무가 필요로 하는 모든 기술을 가지고 있었다. 그저 그것을 다른 단어로 표현했을 뿐이다. 그리고 그들은 블랙박스가 학습 데이터에서 "성공적"이라고 여길 만큼 충분히 보지 못한 학교를 다녔다.

이것이 내가 지식 그래프가 인재 풀을 넓힌다고 말할 때 의미하는 바다. 그것은 역량은 갖췄지만 학벌이나 정확한 어휘는 갖지 못한 사람들을 찾아낸다. 그리고 그것은 자연스럽게 다양성을 향상시킨다 — 할당제나 조정을 통해서가 아니라, 더 나은 측정을 통해서.

시스템이 문제를 표시하면 어떻게 되는가?

사람들은 내게 묻는다: "당신의 시스템이 여전히 편향된 결과를 낸다면요?" 그것은 정당한 질문이며, 자신의 시스템이 완벽하다고 주장하는 사람이라면 나는 오히려 의심스러울 것이다.

차이는 이것이다: 블랙박스가 편향된 결과를 낼 때, 당신은 발이 묶인다. 숫자에서 차별적 영향을 볼 수는 있지만, 그런지는 볼 수 없다. 대학 이름 때문인가? 우편번호? 글쓰기 스타일? 당신은 수백만 개의 파라미터와 판독 가능한 논리가 전혀 없는 시스템을 디버깅하고 있는 것이다.

우리 시스템이 통계적 이상치를 낼 때 — 예컨대 특정 인구통계 집단에 대해 0.8 미만의 영향 비율을 낼 때 — 우리는 그것을 추적할 수 있다. 격차를 유발하는 특정 그래프 노드를 식별할 수 있다. 어쩌면 어떤 직무 기술서가 사회경제적 지위와 상관관계가 있는 특정한 값비싼 자격증을 요구하는 것일 수도 있다. 우리는 그것을 보고, 표시하고, 채용팀은 그 자격증이 진정으로 필요한 것인지 아니면 과거부터 이어져 온 요건일 뿐인지 결정할 수 있다.

유리 상자(glass box)라 해서 시스템이 항상 옳다는 뜻은 아니다. 그것이 틀렸을 때, 당신이 왜 그런지 알아내어 고칠 수 있다는 뜻이다.

LLM에게도 여전히 할 일이 있다 — 다만 중요한 일은 아니다

블랙박스 신경망 대(對) Veriprajna의 지식 그래프 시스템을 통해 데이터가 어떻게 흐르는지를 비교하는 아키텍처 다이어그램으로, 편향이 어디로 들어오고 어디서 구조적으로 차단되는지를 보여준다.

분명히 해 두겠다: 우리는 LLM을 사용한다. 우리는 러다이트가 아니다. 하지만 우리는 그것들을 번역가를 쓰듯이 사용한다 — 판단이 아니라, 읽고 쓰기 위해서.

우리 아키텍처는 엄격한 관심사의 분리(separation of concerns)를 강제한다. LLM은 인식(perception)을 담당한다: 그것은 비정형 이력서 텍스트를 읽고 개체를 추출한다. "나는 React Native 앱을 만들기 위해 개발자 5명으로 이뤄진 팀을 진두지휘했다"는 구조화된 데이터가 된다 — 기술: React Native, 기술: 팀 리더십, 맥락: 모바일 개발. LLM은 동의어를 정규화한다: "ReactJS"와 "React.js"는 둘 다 같은 노드로 매핑된다.

그러나 LLM은 결코 채용 결정을 내리지 않는다. 모든 매칭, 점수 산정, 순위 결정은 결정론적 그래프 순회(traversal)를 통해 이루어진다. 같은 그래프에 같은 질의를 더하면 매번 같은 결과가 나온다. 우리는 출력 단에서도 LLM을 사용한다 — 그것은 사람이 읽을 수 있는 설명을 생성하지만, 오직 그래프로 검증된 사실로부터만 생성한다. 그것은 그래프가 뒷받침하지 않는 기술 일치를 환각(hallucinate)해 낼 수 없다.

나는 LLM을 시스템의 눈과 입으로, 지식 그래프를 두뇌로 생각한다. 당신은 당신의 입이 당신을 대신해 결정을 내리게 두지 않을 것이다. (뭐, 우리 대부분은 그러지 않을 것이다.)

우리는 정말로 무엇 사이에서 선택하고 있는가?

내가 보기에 이 산업은 갈림길에 서 있다. 한 길은 더 큰 모델, 더 많은 파라미터, 더 심한 불투명성으로 이어진다 — 그리고 악용할 새로운 프록시 변수를 끊임없이 찾아내는 편향과의 끝없는 두더지 잡기 게임으로. 다른 길은 구조화된 추론, 의미론적 측정, 그리고 규제 당국이나 채용 담당자, 혹은 탈락한 지원자에게 스스로를 설명할 수 있는 시스템으로 이어진다.

나는 여전히 블랙박스 심사 도구를 사용하는 기업들의 HR 리더들과 이야기를 나눠 왔다. 그들은 위험을 안다. 그들은 아마존에 대해 읽었다. 하지만 아키텍처를 바꾸는 것은 비싸고 불확실하게 느껴지기에, 그들은 계속 땜질을 한다. 그들은 근본적으로 편향된 시스템 위에 "편향 완화 계층"을 덧붙인다. 그들은 컨설턴트를 고용해 연례 감사를 돌리지만, 그 감사는 무엇이 망가졌는지 알려줄 뿐 그것을 고칠 도구는 주지 않는다.

데이터는 거울이다. 과거로 모델을 학습시키면, 과거를 복제한다. 형평을 향해 분투하는 세상에서, 과거를 복제하는 것은 실패 조건이다.

나는 이 글을 얼버무림으로 끝내지 않겠다. 나는 이것을 만드는 데 수년을 보냈고, 그 대안이 처참하게 실패하는 것을 보았으며, 그 결론에 대해 확신한다: 채용 AI의 미래는 이전에 누가 성공했는지를 근거로 누가 성공할지를 예측하는 데 있지 않다. 그것은 누군가가 할 수 있는 것과 직무가 요구하는 것 사이의 실제 거리를 측정하는 것 — 그리고 그 측정을 투명하고, 결정론적이며, 구조적으로 차별이 불가능하게 만드는 것에 있다.

당신은 계속 과거를 예측할 수 있다. 아니면 미래를 측정하기 시작할 수 있다.

Related Research

Also Published On