|
서로 다른 AI는 어떻게 하나의 시스템이 되는가
01 하나의 AI는 없다 02 AI들의 불협화음 03 AI를 연결하는 설계도 04 데이터를 맞추는 일 05 AI들의 역할 분담 06 충돌과 오류를 다루는 법 07 AI와 사람의 상호작용 08 안전과 보안의 문제 09 다른 시스템과의 연결 10 통합된 지능의 미래 |
도승원의 다른 상품
|
“하나의 AI는 없다”는 말은 반드시 여러 AI 모델을 사용해야 한다는 뜻은 아니다. 모델 하나만 사용하는 제품도 충분히 복잡한 AI 시스템이 될 수 있다. 여기서 명심해야하는 것은 실제 서비스에서 모델 혼자 모든 일을 결정하지 않는다는 점이다. 어떤 데이터를 모델에 넣을지는 다른 프로그램이 결정하고, 모델이 만든 결과를 어디에 사용할지도 시스템의 구조에 따라 달라진다. 결과를 어느 정도 믿을 것인지, 결과가 없거나 이상할 때 어떻게 대응할 것인지도 대부분 모델 바깥에서 정해진다. 이렇게 보면 AI를 개발할 때 던져야 하는 질문도 조금 달라진다. “이 모델의 정확도는 얼마인가”에서 끝나는 것이 아니라 “이 모델이 틀렸을 때 다음 단계에서는 어떤 일이 생기는가”를 함께 묻게 된다. 프로그램이 실행 중인지 확인하는 것에서 나아가 지금 사용하고 있는 정보가 여전히 유효한지도 살펴보게 된다. 하나의 기능을 조금 더 정확하게 만드는 것만큼 그 기능이 전체 시스템 안에서 어떤 역할을 맡고 있는지를 아는 일이 중요해진다.
--- 「01 하나의 AI는 없다」 중에서 정상적인 흐름을 그린 다음에는 문제가 생긴 상황도 함께 생각해 볼 수 있다. 영상이 들어오지 않는다면 다음 프로그램은 기다릴 것인가, 이전 결과를 사용할 것인가. 예측 AI가 제한 시간 안에 결과를 내지 못하면 화면에는 무엇을 표시할 것인가. 프로그램 하나가 다시 시작되면 이전에 만들어진 정보는 계속 사용할 수 있는가. 이런 질문을 설계 단계에서 미리 확인하면 문제가 생겼을 때 임시방편으로 처리해야 하는 일을 줄일 수 있다. 설계도는 프로그램이 어디에 있는지를 보여 주는 그림이 아니라 정보와 판단이 어떤 길을 따라 움직이는지를 보여 주는 지도와 같다. --- 「03 AI를 연결하는 설계도」 중에서 하나의 AI만 사용하는 시스템에서는 결과가 맞았는지 틀렸는지를 확인하면 되는 경우가 많다. 하지만 여러 AI가 같은 상황을 판단하기 시작하면 조금 다른 문제가 생긴다. 한 AI는 위험하다고 판단했는데 다른 AI는 문제가 없다고 판단할 수 있다. 두 AI 모두 나름의 근거를 가지고 있다면 시스템은 그 가운데 무엇을 사용할지를 결정해야 한다. 가장 간단한 방법은 신뢰도가 높은 결과를 선택하는 것이다. 하지만 숫자만 비교해서는 해결하기 어려운 경우가 많다. 두 AI가 출력하는 0.9가 실제로 같은 의미라는 보장도 없고, 서로 다른 조건에서 학습된 모델이라면 잘하는 상황도 다를 수 있다. --- 「06 충돌과 오류를 다루는 법」 중에서 두 시스템이 처음으로 데이터를 주고받는 데 성공하면 통합이 끝난 것처럼 느껴진다. 실제로는 이때부터 더 긴 문제가 시작된다. 두 시스템은 이후에도 계속 바뀌기 때문이다. 한쪽에서 프로그램을 업데이트하고, 다른 쪽에서 모델을 교체한다. 네트워크 구성이 바뀌거나 인증 방식이 달라질 수도 있다. 각각에게는 정상적인 변경이지만 상대 시스템에는 새로운 문제가 될 수 있다. (…) 이런 문제를 줄이기 위해서는 변경 사실을 미리 공유할 수 있는 방법이 필요하다. 어떤 인터페이스가 바뀌었는지, 언제 적용되는지, 이전 버전은 언제까지 사용할 수 있는지를 서로 알 수 있어야 한다. 중요한 변경이라면 실제 운영 환경에 적용하기 전에 양쪽이 함께 사용할 수 있는 시험 환경에서 확인하는 편이 좋다. 모든 변경을 복잡한 회의와 문서로 관리할 필요는 없지만 상대방의 시스템에 영향을 줄 수 있는 변경이 조용히 적용되는 상황은 피해야 한다. --- 「09 다른 시스템과의 연결」 중에서 |
|
여러 AI를 하나의 시스템으로 만드는 규칙을 설계하다
여러 AI와 프로그램이 각각 제대로 작동한다고 해서 전체 시스템까지 제대로 움직이는 것은 아니다. 같은 데이터를 두 프로그램이 서로 다른 시점의 정보로 해석하고, 같은 대상을 다른 식별자로 부르며, 한쪽은 이전 값을 유지하고 다른 쪽은 정보 없음으로 처리할 수 있다. 문제는 개별 모델의 성능보다 시간·단위·식별자·상태·출처 같은 기준이 서로 맞지 않는 데서 생긴다. 이 책은 AI를 독립된 모델이 아니라 전체 시스템 안에서 역할을 맡은 구성 요소로 본다. 데이터가 언제 만들어졌고 언제까지 유효한지, AI들의 판단이 충돌하면 누구를 우선할지, 언제 사람에게 결정을 넘길지, 문제가 생겼을 때 어떻게 원인을 추적할지를 차례로 살핀다. 기준 버전과 재현 가능한 시험 환경, 입력의 이력 관리, 오류와 통신 장애, 보안과 외부 시스템 연계까지 실제 통합에서 반복되는 문제도 다룬다. 좋은 통합은 많은 AI를 연결하는 일이 아니다. 필요한 정보가 필요한 순간에 도착하고, 각 구성 요소가 자신의 역할과 한계를 이해하며, 예상 밖의 상황에서도 다음 행동을 결정할 수 있게 만드는 일이다. |