brunch

매거진 Game과 AI

You can make anything
by writing

C.S.Lewis

by 취한하늘 Mar 07. 2022

연구를 서비스로 연결할 때 알아야 할 것들

연구와 서비스는 다르다


AI 생태계에는 여러 주체가 활동하고 있다. 학교가 있고, 기업도 있으며, 비영리 연구소도 있다. 그리고, 각 주체 안에서 AI를 연구하는 많은 사람들이 있다. AI라는 공통된 주제로 연결되어 있기는 하지만, 각 주체의 목적은 조금씩 다르다. AI의 성능을 향상하는 것 자체가 목적인 주체도 있고, AI를 도구로 사용하여 새로운 가치를 만들어내는 것이 목적인 주체도 있다. 그러다 보니 한 주체에 속해있던 사람이 다른 주체로 넘어갔을 때 다소 혼란스러울 수 있다.

특히, 지금처럼 AI를 비즈니스 도구로 많이 사용하는 상황에서는, 연구 환경에서 비즈니스 환경으로 넘어가게 되는 사람들이 많이 있다. 아마, 대학교 석박사 과정에서 수년을 보냈던 사람이 특정 기업에 취업하여, AI를 이용해 서비스를 강화하는 일에 참여하는 경우가 많이 있을 것으로 생각된다. 이런 사람들에게 있어 비즈니스 환경의 특징을 이해하는 것은 생각보다 중요한 일이다. 비즈니스 환경이 연구 환경과 다른 점을 이해하지 못하면 프로젝트가 설계 단계부터 잘못될 수 있기 때문이다.


의미 있는 가치로 연결되어야 한다


AI가 사진을 보고 고양이와 개를 구분할 수 있게 되었다고 해서 그것이 바로 사람들에게 의미 있는 가치를 만들어내지는 않는다. 연구소에서는 고양이와 개를 98%의 정확도로 구분하는 것이 크게 기뻐할 일이었어도, 보통 사람들에게는 '세상에 이런 일이'에 한 번 나올 정도의 일 밖에 되지 않을 수 있다. 하지만, AI가 사람의 얼굴을 구분할 수 있게 되고, 그 덕분에 무인 편의점이 만들어지면 사람들에게 의미 있는 큰 가치를 생산해 내게 된다.

사람이 음성으로 날씨를 물어봤을 때, 질문을 이해하고 날씨를 알려주는 것은 신기하기는 해도 대단한 가치를 지닌 것은 아니다. 휴대폰으로 날씨를 검색하는 것만으로도 이미 충분히 편리하기 때문이다. 하지만, 사람이 하는 말의 맥락을 이해하고 대화를 나눌 수 있게 되면 그것은 큰 가치로 연결된다. 더 많은 정보를 제공할 수도 있고, 대화가 필요한 사람에게 대화 상대가 되어줄 수도 있으며, 각종 서비스에서 사람 대신 일을 할 수도 있는 것이다.

새로운 기술을 습득한 사람이 잘 빠지는 함정 중 하나가, 자신의 기술을 과시하는 데 몰두하는 것이다. 기술을 과시하는 것 자체가 나쁜 것은 아니지만, 그것에 지나치게 몰두하다 보면 실용적인 가치를 등한시할 수 있다. 간혹 AI 연구자가 실무 부서를 대상으로 한 시연에서 실무 부서의 반응이 시큰둥한 경우들이 있는데, 많은 경우 그 연구 결과가 실무 부서에게 의미 있는 가치로 연결되지 못하기 때문이다. 한마디로, '신기하긴 한데 우리한테는 필요 없는 것 같아요'라는 반응이 나오게 되는 것이다.


비용은 중요하다


투자수익률(ROI)이라는 것이 있다. 한 마디로, 들인 돈에 비해 얼마만큼의 수익을 만들어 낼 수 있는가 하는 것이다. 이 ROI가 좋지 않은 것에는 어느 기업도 쉽게 투자를 결정하지 못한다. 실제로 AI에 대한 투자를 주저하는 많은 기업들도 바로 이 부분에서 주저하는 경우가 많은 것으로 알고 있다. 따라서, AI 연구자가 비즈니스 환경에서 어떤 프로젝트를 진행하고자 한다면, 항상 비용적인 측면에 대해서도 깊은 고민이 필요할 것이다.

구체적으로 두 가지 관점에서 비용을 고려하면 좋을 것 같다. 첫 번째는 AI 프로젝트를 수행하기 위해 드는 비용이다. 프로젝트 수행에 드는 비용이 크면 프로젝트를 시작하기도 어렵고, 어떻게 시작한다고 하더라도 여러 가지 외부 요인에 계속 시달리게 된다. 따라서, 프로젝트 자체가 감당할 수 있는 비용 수준에서 프로젝트를 진행하는 것이 좋다. 비싼 장비를 여러 대 구매해야 하거나, 연구원을 새로 여러 명 증원해야 하는 프로젝트라면 다른 방법이 없을지 고민해보는 것이 좋을 것이다. 그리고, 비슷한 결과를 더 적은 비용으로 만들어 낼 수 있는 방법이 있다면 적극적으로 활용해야 한다. 더 적은 자원으로 비슷한 성과를 만들어 내는 논문이 학계에서는 그다지 주목받지 못하는 경우들이 있는 것 같은데, 비즈니스 환경에서는 크게 의미 있는 내용이라는 것을 이해하고 있어야 한다.

두 번째는 프로젝트 목표로서의 비용이다. 말하자면, 회사가 소모하고 있는 비용을 줄여줄 수 있는 부분을 찾는 것이다. 모든 회사는 비용에 매우 민감하기 때문에, 비용을 줄일 수 있는 방법이 있다면 매우 환영할 것이다. 실제로 AI를 도입하는 기업에서 가장 흔하게 벌어지는 부분이 바로 이 비용절감 부분이다. 그만큼 비용은 기업들에게 절대적인 주제이고, 또 가장 쉽게 설득할 수 있는 키워드가 된다. 특히, AI가 절감해주는 비용은 지속적으로 그 효용이 누적되는 특성이 있기 때문에, 이 부분에서 AI가 어떤 공헌을 하게 된다면, 이후 AI와 관련되어 진행되는 모든 프로젝트에 든든한 지원을 얻을 수도 있을 것이다.


서비스는 일단락되지 않는다


많은 연구들이 결론에 이르고 나면 일단락된다. 내용을 정리하고, 어딘가에 보고한 후에 새로운 연구를 다시 시작한다. 그런데 서비스는 그런 경우가 드물다. 오히려, 만든 기간보다 그것을 유지하고 업데이트하는 기간이 더 길 때가 많다. 그래서 만들 때부터 유지보수와 업데이트를 고려해야 한다.

예를 들어, 게임의 몬스터 캐릭터를 플레이하는 AI를 만들었다고 생각해보자. 기존의 몬스터를 잘 조종하는 AI를 완성하여 게임에 적용했다. 그러면 연구 영역에서는 이 프로젝트를 일단락하고 새로운 프로젝트를 계획하면 된다. 하지만, 서비스 영역에서는 여기서 일이 끝나지 않는다. 일단 그 AI가 실제 서비스에서 문제없이 잘 돌아가고 있는지 모니터링할 수 있는 시스템을 만들어야 한다. 그리고 문제가 있을 때 담당자에게 즉시 알림을 전송할 수 있도록 해야 한다. 이쯤에서 끝나면 그나마도 다행이겠지만 그렇지 않다. 게임은 계속 업데이트된다. 말하자면, AI가 운용되는 환경에 계속 변화가 일어난다는 말이다. 새로운 특성의 몬스터가 추가되면 새로운 특성의 몬스터도 AI가 조종하도록 해야 할 수 있다. 혹은 게임의 규칙이 변경되어서, 기존의 AI가 무력화되고 완전히 새로운 AI를 다시 학습해야 할 수도 있다. 게임을 다른 환경에 론칭하게 되어 AI가 연산에 사용하는 자원을 절반 이하로 줄여야 할 수도 있다.

서비스는 보통 설계단계에서부터 변화에 잘 적응할 수 있는 것을 고려하면서 만들어 나간다. 끊임없이 업데이트할 것도 생각하면서 만들고 유지 보수한다. 그 서비스에 접목되는 AI도 당연히 그런 조건들을 고려하면서 작업되어야 한다. 그래서 때로는 어떤 서비스에 이용되는 AI를 만든다는 것이, 그 서비스를 지속하는 또 한 명의 일원으로 '합류'하는 것을 의미할 수도 있다.


담당자는 언제든 교체될 수 있다


연구 분야에서는 담당자가 교체되는 일이 흔하지는 않을 것 같다. 어떤 과제를 시작했으면, 시작한 사람이 끝까지 마치는 경우가 많을 것이라 생각된다. 만약, 연구자가 연구를 지속하지 못할 상황이라면 연구 자체가 중단되기도 할 것 같다.

서비스에서는 담당자가 교체되는 일이 매우 흔하다. 그래서 어떤 프로그램이든, 다른 사람이 관리할 수 있는 형태로 만들어 놓는 것이 중요하다. 코드 자체도 그렇고, 문서나 프로세스도 마찬가지다. 따라서, 서비스에 적용되는 AI도 다른 연구자가 바로 이어서 할 수 있도록 준비해 놓아야 한다.

각종 문서를 잘 정리해 놓는 것은 물론이고, 코드의 가독성에도 신경 써야 한다. 주석도 충실히 달고 코드 자체를 읽기 쉽게 작성해서, 처음 코드를 읽는 프로그래머가 쉽게 읽을 수 있도록 해야 한다. 그리고 전체 코드 구조 자체도 깔끔하게 정리해서, 다른 프로그래머가 금방 전체 동작을 이해할 수 있도록 해야 한다.

이런 과정이 굉장히 번거롭고 불필요하게 느껴질 수도 있다. 하지만, AI를 서비스의 일부로 포함시키고자 한다면 꼭 해야만 하는 과정이다. 서비스가 특정인에게 크게 의존해야 하는 상태는 좋지 않은 상태이기 때문이다. 그래서 아무리 구현 실력이 좋아도, 다른 사람이 사용하기 어려운 코드를 만들어 내는 프로그래머는 좋은 프로그래머로 평가받지 못하기도 한다.


AI는 도구일 뿐


기술을 서비스에 적용하는 것은 매력적인 일이다. 서비스와 연결되면서 좀 더 실질적으로 현실에 영향을 미치기 때문이다. 사람들이 더 좋은 서비스를 이용할 수 있게도 되고, 기업이 더 적은 비용으로 서비스를 유지할 수 있게도 된다. 때로는 완전히 새로운 서비스를 만들어 내는 경우도 있다.

하지만, 서비스를 만들고 유지하는 과정은 기술을 연구하는 과정과는 다른 부분이 많다. 그런 부분을 잘 이해하지 못하고 연구를 진행하던 습관대로 작업을 하다 보면, 예상치 못한 난관을 만나 당황하기 쉽다. 심하게는 협업에 문제가 생길 수도 있을 것이다. 

그러니, 비즈니스 환경에서 일을 하기로 마음먹었다면 비즈니스 환경이나 서비스가 갖는 특성을 먼저 잘 이해하도록 하자. 기술을 잘 구현하는 것 외에도 중요한 것이 있다는 것을 알고 그런 것들까지 고려하면서 작업할 수 있다면, 자신이 가지고 있는 역량을 충분히 잘 보여주고 실현할 수 있을 것이다.


1. 의미 있는 가치로 연결되어야 한다

사람들이 기술에 흥미를 가질 수는 있지만 기술 자체에 큰 의미를 두지는 않는다.

기술이 사람들에게 어떤 가치를 만들어 낼 수 있을 때, 그 가치에 사람들은 비로소 의미를 부여한다.

2. 비용은 중요하다

비즈니스 환경에서 비용은 매우 중요한 요소다.

프로젝트에 소요되는 비용을 주의 깊게 살피고, 줄일 수 있는 부분이 없는지 잘 살펴야 한다.

프로젝트가 조직이 소모하고 있는 비용을 줄여줄 수 있다면 공헌을 크게 인정받을 수 있다.

3. 서비스는 일단락되지 않는다

서비스 자체가 종료되지 않는 한, 서비스에 연계된 작업에도 종료 지점이 없다.

서비스를 유지 보수하기 위한 환경도 구축해야 하고, 여러 가지 요구사항의 변화에 지속적으로 대응해야 한다.

4. 담당자는 언제든 교체될 수 있다

서비스는 누구든 작업할 수 있는 상태를 지향한다.

담당자가 다른 사람으로 교체되어도 서비스에 영향을 미치지 않도록 준비하는 작업이 필요하다.


매거진의 이전글 음성 합성으로 어떤 서비스를 만들 수 있을까?
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari