얼마나 안전해야 ‘충분히’ 안전한가 — 그리고 누가 결정하는가?
영상이 아니라 증거 — Physical AI Deployment Assurance 시리즈의 세 번째 글.
2편에서는 에이전트 기둥을 다루다가 한 가지 질문을 남겨두었다.
벤더는 안전성 수치를 제시하라는 요구를 받는다.
그런데 정작 어느 수치까지 낮아야 충분한지는 아무도 정해주지 않는다.
무엇과 비교해서 안전한가?
어느 신뢰수준에서 안전한가?
누가 그렇게 결정하는가?
이번 글은 바로 그 질문에서 시작한다.
2편의 마지막 문장은 이 문제를 이렇게 요약했다.
위험 숫자를 만드는 것은 상대적으로 쉽다. 그 숫자의 기준선을 책임지는 것은 어렵다.
왜 그런지, 그리고 그 책임을 대체 누가 져야 하는지 생각해보자.
한 병원이 파일럿으로 운영하던 배송로봇을 정식 운영으로 전환하려 한다고 해보자. 벤더는 충돌 위험 추정치를 제시할 수 있다. 안전 담당자는 그 수치가 충분히 낮은지 묻는다. 병원 경영진은 누가 최종 승인을 해야 하는지 묻는다. 보험사는 남는 위험을 어떻게 가격에 반영할지 묻는다.
엔지니어는 숫자를 계산할 수 있다.
하지만 조직은 그 숫자 중 어디까지를 자신이 받아들이고 책임질 것인지 결정해야 한다.
겉으로는 기술적인 질문처럼 보인다.
하지만 그렇지 않다.
이것은 결국 누가 서명할 것인가에 관한 질문이다. 겉으로는 에이전트 기둥의 성능 문제처럼 보이지만, 실제로는 운영 기둥의 문제, 즉 책임의 문제다.
수학은 너무 늦게 시작한다
내 분야에 대한 고백부터 하자.
정량적 안전성을 다루는 거의 모든 방법은 기준선을 입력값으로 받는다. 여기서는 그 기준선을 α라고 부르자. 특정 목적에서 시스템을 받아들일 수 있다고 판단하는 데 사용하는 허용 실패확률, 꼬리확률 또는 위험 수준이다.
Risk-constrained control은 α 수준에서 조건부 위험을 제한한다. Conformal method는 1−α의 coverage를 보장한다. Chance-constrained planning은 제약 위반 확률을 α 이하로 묶는다.
방법은 서로 다르지만, 요구하는 것은 같다.
α를 정해주면, 그에 맞는 보장을 계산해주겠다.
나는 연구자로서 α가 정해진 뒤에 시작되는 수학을 오랫동안 연구해왔다.
이 글은 그 전에 무슨 일이 일어나는지를 다룬다.
많은 프로젝트에서 그 전 단계는 사실상 비어 있다. α가 어디에서 왔느냐고 물으면 회의실이 조용해진다. 이전 프로젝트에서 사용했던 숫자를 그대로 가져오기도 하고, 리뷰어의 직관에 기대기도 하며, 내부 관행을 따르거나 시뮬레이션이 통과되는 수준에서 정하기도 한다.
안전성 논리에서 가장 중요한 매개변수인데도, 누가 왜 그 숫자를 골랐는지에 대한 기록은 가장 빈약한 경우가 많다.
모두가 그 기준선을 이용해 계산한다.
하지만 아무도 그 기준선을 선택했던 순간을 기억하지 못한다.
기존 산업이 내놓은 세 가지 답
피지컬 AI가 이 문제를 처음 만난 것은 아니다.
항공, 철도, 자동차, 공정산업은 로봇이 사람과 같은 복도를 다니기 훨씬 전부터 비슷한 문제를 겪었다. 이들 산업이 내놓은 답은 크게 세 가지 유형으로 나눌 수 있다.
비교 기준
새로운 시스템은 적어도 기존 시스템만큼은 안전해야 한다.
유럽 철도 분야에서는 프랑스의 GAMAB 원칙처럼 이 계열의 원칙이 사용되어 왔다. 대략적으로 말하면 새로운 시스템의 전체적인 안전성이 기존 시스템보다 나빠서는 안 된다는 것이다.
이때 기준은 역사다.
안전 기준선은 아무 근거 없이 허공에서 선택되는 것이 아니라, 사회가 이미 받아들이고 있는 시스템과 비교해 정해진다.
절대 기준
기준선을 해당 시스템 바깥의 어떤 값에 고정한다.
가장 유명한 공학적 사례는 항공이다. 대형 수송기의 치명적 고장 조건에 대해 항공 인증 지침은 오랫동안 “극히 발생하기 어려운” 수준을 요구해왔고, 이는 일반적으로 비행시간당 10⁻⁹ 수준의 확률과 연결된다.
이 숫자는 흔히 움직일 수 없는 절대 기준처럼 취급된다.
하지만 이 숫자가 만들어진 과정을 통상적으로 재구성해보면 이야기는 조금 다르다. 기존 항공기 fleet의 사고 기록에서 사회적으로 받아들일 수 있는 치명적 사고율을 추정하고, 그중 일부를 시스템 고장에 할당한 다음, 항공기에 존재할 수 있는 여러 치명적 고장 조건들에 나누어 배분했다는 것이다.
그렇게 숫자가 나왔다.
겉으로는 절대적인 상수처럼 보이지만, 시작점은 비교였다.
우리가 이미 받아들이고 있는 항공 시스템보다 나쁘지 않을 것.
수십 년 동안 반복해 사용되면서, 이 비교 기준은 절대 기준처럼 굳어졌다.
기준선은 비교에서 태어나고, 시간이 흐르면 상수처럼 굳어진다.
절차적 기준
보편적인 숫자를 하나 정하지 않고, 대신 책임과 절차를 정한다.
영국의 ALARP 원칙은 위험을 “합리적으로 실행 가능한 한 낮은 수준”까지 줄여야 한다고 요구한다. 처음부터 하나의 전역 기준선을 선언하는 대신, 다음과 같은 질문을 묻는다.
추가로 적용할 수 있는 안전조치는 무엇인가?
그 조치는 위험을 얼마나 줄이는가?
그 위험 감소 효과에 비해 필요한 비용·시간·노력이 현저히 불균형한가?
규제기관은 이런 판단을 돕기 위해 위험 허용 구간을 제시하기도 한다. 하지만 핵심은 하나의 고정된 숫자가 아니라 절차다.
“이 숫자 이하면 언제나 안전하다”고 선언하는 대신, 책임 주체가 더 이상의 위험 저감을 멈추는 판단을 방어할 수 있을 때까지 계속 위험을 줄이도록 요구한다.
한 가지 장치를 더 언급할 필요가 있다.
자동차나 산업 기능안전 표준은 종종 이 문제를 표를 통해 처리한다. 사고의 심각도, 노출 빈도, 제어 가능성 같은 항목을 입력하면 일정한 integrity level이 나온다.
이런 표의 진짜 기능은 무엇일까?
그것은 판단의 책임을 분산시킨다.
개별 엔지니어가 α를 직접 정하지 않는다. 위원회가 표를 만들고, 엔지니어는 그 표를 적용한다. 오랜 사고 데이터가 축적된 성숙한 위험 분야에서는 이것이 반드시 약점은 아니다. 오히려 그것이 표를 만드는 목적이다.
가치판단을 공동체가 한 번 집단적으로 내린 뒤, 일상적인 엔지니어링 판단에서 분리해두는 것이다.
그러나 피지컬 AI에는 아직 그런 표가 없다.
그런 표를 정당화하려면 두 가지가 필요한데, 피지컬 AI는 아직 둘 다 충분히 갖고 있지 않다.
축적된 실패 데이터.
그리고 가치판단을 공동의 기준선으로 바꿀 준비가 된 전문가 공동체의 합의다.
피지컬 AI에서는 세 가지 답이 모두 휘어진다
피지컬 AI도 이 세 가지 방식을 물려받는다.
하지만 각각의 방식이 피지컬 AI에 들어오는 순간 조금씩 뒤틀린다.
비교 방식: 사람보다 안전하면 되는가
비교 방식은 흔히 한 문장으로 나타난다.
사람보다 안전하다.
하지만 이 문장은 생각보다 훨씬 적은 정보를 담고 있다.
어떤 사람을 말하는가?
평균적인 운영자인가?
숙련된 전문가인가?
교대 종료를 앞두고 피로해진 작업자인가?
주의가 분산된 방문객인가?
전체 사고 통계의 상당 부분을 만들어내는 고위험 집단인가?
평균적으로 더 안전하면 되는가?
아니면 모든 상황에서 더 안전해야 하는가?
어떤 시스템은 전체 평균에서는 사람보다 우수하면서도, 특정한 상황에서는 사람보다 더 위험할 수 있다. 그리고 여기서 “특정한 상황을 구체적으로 설명할 수 있다”는 점이 중요하다.
구체적으로 묘사할 수 있는 실패 시나리오는 조달 과정의 반대 논리가 되고, 안전 담당자의 우려가 되며, 보험의 면책 사유가 되고, 법적 분쟁에서 다뤄지는 사건의 서사가 된다.
또한 어떤 기준선도 무시하기 어려운 비대칭이 있다.
기계는 사람이 좀처럼 보이지 않는 방식으로 실패할 수 있다. 그리고 대중은 기계의 실패를 사람의 실패와 다르게 평가할 수 있다.
나는 이 비대칭을 옹호하는 것도 아니고, 불공정하다고 불평하는 것도 아니다.
그런 비대칭이 실제로 존재한다는 점을 말하는 것이다.
그 사실을 무시하고 만든 기준선은 첫 번째 사고를 만나면 버티지 못할 수 있다.
“평균적인 사람보다 안전하다”면 충분한지 나는 여기서 답하지 않겠다.
다만 그 문장만으로는 판단에 필요한 내용이 턱없이 부족하다는 점은 분명하다.
절대 방식: 기준점을 어디에 둘 것인가
절대 기준에는 기준점이 필요하고, 그 기준점에는 충분한 노출 이력과 사고 데이터가 필요하다.
항공은 막대한 누적 운항시간과 비교적 표준화된 운용환경을 바탕으로 기준선을 만들 수 있었다.
피지컬 AI에는 아직 그만한 누적 운용시간도 없고, 현장 간의 동질성도 없다.
2편에서 특정 현장이라는 표현을 의도적으로 사용했다. Deployment assurance는 현장별로 이루어져야 한다.
같은 로봇이라도 새벽 세 시의 조용한 물류창고에서는 낮은 위험으로 운영될 수 있지만, 교대 시간의 혼잡한 병원 복도에서는 훨씬 높은 위험을 만들 수 있다.
항공은 막대한 비행시간을 평균낼 수 있었다.
병원 복도는 같은 방식으로 평균낼 수 없다.
절차적 방식: 다음 안전조치의 가치를 계산할 수 있는가
절차적 방식은 적어도 다음 단계의 안전 개선에 대해 논의할 수 있다는 것을 전제로 한다.
어떤 조치를 추가할 수 있는가?
그 조치가 위험을 얼마나 줄이는가?
그 효과에 비해 필요한 희생이 현저히 불균형한가?
하지만 학습 기반 시스템에서는 그 질문조차 안정적이지 않다.
다음 안전 개선은 더 많은 데이터인가?
다른 모델 구조인가?
운영 가능 영역을 좁히는 것인가?
최대 속도를 낮추는 것인가?
사람을 의사결정 과정에 넣는 것인가?
더 좋은 지도를 만드는 것인가?
런타임 모니터를 추가하는 것인가?
센서 구성을 바꾸는 것인가?
아예 더 단순한 현장에만 배치하는 것인가?
가능한 선택지를 사전에 완전히 나열할 수 없다.
위험을 한 단계 더 낮추는 데 드는 한계비용도 실제 엔지니어링을 시작한 뒤에야 알게 되는 경우가 많다.
그 결과 “합리적으로 실행 가능한 수준” 자체가 움직이는 목표가 된다.
그리고 이 세 가지 방식 아래에는 더 근본적인 문제가 놓여 있다.
학습 기반 컨트롤러의 위험 수치는 조건부다.
정직하게 말하면 우리가 다뤄야 할 대상은 단순한 α가 아니다.
α | A
가정 집합 A 아래에서의 위험 기준선이다.
A는 각주가 아니다.
주장 자체의 일부다.
정직한 안전성 주장은 단순히 이렇게 말할 수 없다.
시간당 10⁻⁷.
실제로는 이렇게 말해야 한다.
가정 A 아래에서 시간당 10⁻⁷.
조명이 검증된 범위 안에 있다.
사람의 이동 패턴이 학습분포 안에 있다.
지도는 최신 상태다.
네트워크 지연은 검증된 범위를 넘지 않는다.
지정된 경로에 모델링되지 않은 장애물이 없다.
의도적인 방해가 없다.
배포 후 소프트웨어 업데이트가 기존 증거의 범위 밖으로 컨트롤러의 행동을 바꾸지 않는다.
A에 서명하지 않은 채 α에 서명하는 것은, 사실상 아무것에도 서명하지 않는 것과 같다.
따라서 질문은 두 배가 된다.
누가 위험 수치에 서명하는가?
누가 그 수치가 의존하는 가정에 서명하는가?
그리고 리모델링이 끝난 다음 주 화요일, 가정 A가 조용히 무너졌을 때 누가 그것을 알아차리는가?
서명 가능한 안전성 주장에는 기준선만 있어서는 안 된다.
기준선과 가정 집합, 그리고 그 가정이 더 이상 성립하지 않는 순간을 탐지하는 모니터링 계획이 함께 있어야 한다.
서명 미루기의 원
이제 여러 주체가 이 빈칸을 어떻게 다루는지 보자.
운영자는 벤더에게 묻는다.
그냥 안전하다고 말해달라.
조건부 확률분포에 예 또는 아니오로 답하라는 요구다.
벤더는 사양을 요구한다.
기준선을 정해주면 그 숫자를 맞추겠다.
이것은 회피라기보다 합리적인 대응이다. 숫자를 정하는 것은 곧 책임을 정하는 일이기 때문이다.
규제기관은 숫자보다 절차를 쓴다.
숫자를 정하면 양쪽 방향으로 책임이 생긴다. 너무 엄격하면 산업의 발전을 가로막았다는 비판을 받을 수 있고, 너무 느슨하면 다음 사고 뒤에 책임을 추궁받을 수 있다.
절차는 방어하기 쉽다.
고정된 숫자는 그렇지 않다.
인증기관은 표준에 적힌 내용을 확인한다. 표준에 숫자가 없으면 절차를 확인한다.
정해진 절차를 따랐다.
이 말은 사실일 수 있고, 유용할 수도 있다.
하지만 여전히 충분하지 않을 수 있다.
보험사는 구조적으로 숫자를 만들어야 하는 주체다. 보험료 자체가 숫자이기 때문이다.
사고 이력이 거의 없으면 보험사는 보수적으로 가격을 정하거나, 아예 가격을 제시하지 않는다. 실제 시장에서는 그 가격이 조용히 업계가 사용하는 안전 기준선 중 하나가 될 수 있다.
법원은 가장 마지막에 판단한다.
사고의 결과는 이미 보이지만, 다른 결정을 내렸다면 어떤 결과가 나왔을지는 알 수 없는 상태다. 인식론적으로 매우 어려운 자리이면서, 종종 최종적인 서명을 하게 되는 자리다.
이 원을 따라가 보자.
모두가 기준선에 관여한다.
아무도 서명하지 않는다.
그리고 이 원이 아무의 서명도 없이 완성되면 다음 일이 벌어진다.
아무도 α를 정하지 않으면, 사고가 α를 정한다.
이것은 어느 한 주체를 도덕적으로 비난하는 말이 아니다.
시스템 전체의 실패를 말하는 것이다.
배치 전에 기준선을 책임지는 주체가 없으면, 그 기준선은 사고 뒤에 재구성된다. 슬픔과 사회적 감시, 법적 분쟁 속에서 사후적으로 만들어진다.
사고는 기준선을 정하기에 최악의 심판이다.
사건 하나하나를 통해 기준선을 뒤늦게 만들기 때문이다. 그리고 그렇게 만들어진 기준선은 사고를 낸 한 기업에만 적용되는 것이 아니라, 때로는 산업 전체를 바꾼다.
α는 실제로 무엇인가
나는 이 글에서 정답을 제시하지 않겠다고 했다.
그 약속은 지키려 한다.
다만 하나의 분해 방식은 제시할 수 있다. 앞에서 살펴본 문제의 상당 부분은 α를 단순한 숫자로 취급하는 데서 생기기 때문이다.
α는 숫자가 아니다.
다섯 부분으로 이루어진 하나의 문장이다.
이 수준의 위험을 — 이 기준과 비교하여 — 이 가정 아래에서 — 모니터링되는 조건이 바뀌기 전까지 — 이 주체의 권한과 책임으로 받아들인다.
이 문장은 다섯 부분으로 구성된다.
| 구성요소 | 답해야 할 질문 |
|---|---|
| 위험 수준 | 어느 정도의 위험을 받아들이는가? |
| 비교 기준 | 무엇과 비교해 안전하다고 판단하는가? |
| 가정 집합 | 어떤 조건 아래에서 이 주장이 성립하는가? |
| 유효 기간 | 어떤 변화가 일어나기 전까지 유효한가? |
| 승인·책임 주체 | 누구의 권한과 책임으로 받아들이는가? |
이 가운데 하나라도 빠지면, 나머지 네 부분에도 서명하기 어려워진다.
내가 보아온 많은 현장 배치 논의에서는 첫 번째 항목인 위험 수치만 협상한다. 나머지 네 항목은 계약이 체결된 뒤에 임기응변으로 채워진다.
달리 말하면, 너무 늦은 뒤에야 채워진다.
역할 분담을 정직하게 말하면 다음과 같다.
엔지니어링은 이 문장을 명료하게 만들 수 있다. 위험 수치를 계산하고, 가정을 드러내고, 가정이 무너지는 과정을 감시하고, 불확실성을 정량화하며, 비교 기준을 분명히 할 수 있다.
하지만 어느 문장을 선택할 것인지는 거버넌스의 결정이다.
여기서 거버넌스는 관료주의를 뜻하지 않는다.
조직이 어떤 남은 위험을, 어떤 가정 아래에서, 누구의 권한과 책임으로 받아들일 것인지 결정하는 일이다.
반복해서 나타나는 실수는 양쪽 방향으로 일어난다.
엔지니어에게 가치판단을 수학 속에 몰래 집어넣도록 요구한다.
또는 이사회와 경영진에게 자신들이 읽을 수 없는 수학에 서명하도록 요구한다.
Deployment assurance의 역할은 결국 각 당사자에게 실제로 자신이 읽고 서명할 수 있는 문장을 건네는 것이다.
앞으로의 방향
기준선이 다섯 부분으로 이루어진 문장이라면, 다음 질문은 분명하다.
실제로 서명할 수 있는 안전성 주장은 어떤 모습이어야 하는가?
실질적인 이해관계가 걸린 회의적인 사람이 그 주장을 받아들이려면 무엇이 포함되어야 하는가?
어떤 가정을 명시해야 하는가?
어떤 증거를 첨부해야 하는가?
배치 이후에도 그 주장을 유효하게 유지하려면 어떤 모니터링 계획이 필요한가?
그리고 실제 프로젝트에서는 무엇이 가장 자주 빠지는가?
위험 숫자를 만드는 것은 상대적으로 쉽다. 그 숫자의 기준선을 책임지는 것은 어렵다. 방어 가능한 안전성 주장은 그 책임을 가능하게 만드는 문서다.
다음 글에서는 그 문서의 구조를 살펴본다.
방어 가능한 안전성 주장의 해부학.
이 글은 개인 의견이며, 소속 기관이나 자문하는 조직의 입장을 대표하지 않습니다.