블랙박스 AI는 스스로를 재구성할 수 없습니다. LLM(대규모 언어 모델)의 'COBOL' 시대가 다가오고 있습니다.

블랙박스 AI는 스스로를 재구성할 수 없습니다. LLM(대규모 언어 모델)의 ‘COBOL’ 시대가 다가오고 있습니다.

원 글 : The black-box AI cannot refactor itself. The ‘COBOL’ moment of LLMs is looming.
출처 : https://ai.gopubby.com/the-black-box-ai-cannot-refactor-itself-the-cobol-moment-of-llms-is-looming-39ef0a2aca3f
글쓴이 : Harris Georgiou

[아래는 원글을 구글번역한 것입니다.]

대규모 언어 모델(LLM) 이전에는 더 단순한 신경망(NN)이 있었습니다. 하지만 그때조차도 신경망의 작동 원리와 원리를 설명하는 것은 어려웠습니다. 오늘날의 LLM으로는 그것이 불가능해졌습니다. 현재의 머신러닝(ML) 전문가들이 은퇴할 때쯤이면, 앞으로 수년 동안 아무도 감히 바꾸려 하지 않을 블랙박스 구성 요소들만 남게 될 것입니다. 마치 코볼처럼 말입니다.

오늘날 프로그래밍 업계에서 ‘나이가 좀 든’ 사람의 장점 중 하나는 프로그래밍 언어, 그 진화 과정, 그리고 수십 년에 걸쳐 실제 응용 분야에서 어떻게 사용되었는지에 대해 매우 추상적이고 거의 선구적인 관점을 가질 수 있다는 것입니다.

과거의 그런 선구적인 프로그래밍 '마법사’들은 오늘날까지 업계에 남아 있는 사람이 거의 없습니다. 상업 및 정부 용도로 사용되는 실제 소프트웨어 응용 프로그램은 1960년대 중반, 대부분 1970년대에 들어서면서 확립되었습니다. 당시에는 모든 것이 훨씬 단순했습니다. 대형 메인프레임은 물론, 10년쯤 후에 등장한 훨씬 작은 PC 플랫폼을 프로그래밍할 수 있는 선택은 몇 가지에 불과했습니다. 어셈블리는 NASA의 아폴로 유도 컴퓨터(AGC)에 사용되었고, 포트란은 보이저 1호와 2호의 온보드 컴퓨터 코딩에 많이 사용되었습니다.

동시에 COBOL은 비즈니스 프로세싱 및 데이터 관리 영역에서 점차 입지를 다져갔고, 1970년대 말에는 거의 모든 핵심 컴퓨터 서비스에서 COBOL 코드가 실행되고 있었습니다. 이러한 추세는 C와 파스칼이 주도권을 잡기 시작한 1980년대까지 이어졌으며, 당시로서는 상상도 할 수 없었던 일인 PC용 COBOL 버전까지 등장했습니다. 이는 마치 보잘것없는 i386 가정용 PC에서 리눅스를 실행하는 것만큼이나 불가능한 일이었습니다.

‘레거시’ 문제

하지만 심각한 문제가 다가오고 있었습니다. 1960년대와 70년대에 COBOL에 능숙했던 프로그래머들이 1980년대 후반에 이르러 은퇴나 승진으로 시장에서 사라지기 시작한 것입니다. 다른 언어에 익숙한 프로그래머들도 괜찮은 COBOL 코드를 작성할 수는 있었지만, 20년 동안 안정적으로 작동해 온 기존 코드를 건드리려는 사람은 거의 없었고, 그런 권한을 가진 사람도 드물었습니다. C 언어로 된 독자적인 파일 입출력 인터페이스처럼 다른 언어로 새로운 애플리케이션이 필요할 때에도, 기존 COBOL 코드를 최대한 활용하고 몇 가지 저수준 래퍼 라이브러리만 새로 작성하는 방식을 선호했습니다.

아마데우스는 오늘날 거의 모든 항공 업계에서 항공편, 예약, 승객 등과 관련된 모든 데이터 거래가 이루어지는 핵심 플랫폼입니다. 여행사든 온라인 예약 플랫폼이든, 모든 백그라운드 작업은 수십 년 전에 작성된 COBOL 코드를 통해 이루어지며, 대부분 아무도 손대지 않습니다. 아마데우스도 예외는 아니었습니다. 대부분의 금융 및 은행 거래 역시 레거시 COBOL 코드로 처리됩니다. 인공지능 기반 '브로커’에서 고빈도 거래(HFT)와 자동 거래 시스템(ATS)이 24시간 내내 작동하는 데에는 고도로 최적화된 C 및 C++ 코드가 사용될 수 있지만, 시간적 제약이 없는 대부분의 금융 거래는 여전히 1970년대 초에 작성된 것으로 추정되는 코드로 처리되고 있습니다. 그 이유는 바로 '잘 돌아가면 건드리지 마라’는 것입니다.

이 전략 덕분에 기존 COBOL 기반 시스템은 2000년대까지 10~20년 더 활발하게 사용될 수 있었습니다. 악명 높은 Y2K 문제는 이전 버전의 유닉스나 다른 운영체제(OS)보다 이러한 계층에서 훨씬 쉽게 해결할 수 있었습니다. COBOL은 21세기까지 살아남은 듯 보였습니다. 하지만 상황은 순식간에 매우 악화되었습니다.

특이점

2000년대의 컴퓨터 시스템은 20~30년 전의 시스템에 비해 수적으로나 연결성, 내부 아키텍처 면에서 훨씬 더 복잡해졌습니다. 오래된 레거시 코드를 패치하고 래퍼 함수를 ​​작성하는 방식은 한동안은 통했을지 모르지만, 영원히 지속될 수는 없습니다.

소프트웨어 엔지니어링(SE) 원칙에 따르면 소프트웨어 수명 주기 동안 발생하는 비용의 최대 70%는 유지보수, 즉 새로운 사용자 요구 사항, 운영 체제 및 하드웨어 사양에 대한 적응에 소요됩니다. 더욱이, 패치와 코드 수정이 점점 더 어려워짐에 따라 이 비용은 시간이 지날수록 급격히 증가합니다. 실제로 이는 100% ‘원시’ 기계에 기반한 70년대 자동차를 유지 관리하는 것과 거의 바퀴 달린 컴퓨터에 가까운 최신 자동차를 유지 관리하는 것을 비교하는 것과 같습니다. 이는 단순히 시장에서 예비 부품을 찾는 문제뿐만 아니라, 이러한 부품의 작동 방식과 교체 방법을 여전히 알고 있는 엔지니어를 찾는 문제이기도 합니다.

…그리고 돌이킬 수 없는 지점이 도래했습니다. 바로 코로나19 팬데믹입니다. 이는 단순히 사람들의 업무 방식과 사회생활 방식에 큰 변화를 가져온 것이 아니었습니다. 금융, 노동 시장부터 시스템 엔지니어링 문제에 이르기까지 모든 것이 완전히 뒤바뀌었습니다. 역사상 처음으로 직면하게 된 문제들, 특히 연금, 급여, 의료 등과 관련된 기존 시스템을 개편해야 하는 필요성이 대두되었습니다. 이러한 플랫폼들은 수십 년 전에 작성된 COBOL 코드에 기반을 두고 있거나, 서로 연결되어 있었는데, 해당 부서의 프로그래머 중 누구도 그 코드의 작동 방식이나 수정 방법을 알지 못했습니다.

이로 인해 정부 기관과 사회복지 서비스 전반에 걸쳐 연쇄적인 인력난이 발생했고, 관련 분야 프로그래머들을 필사적으로 찾아 나섰으며, 심지어 은퇴한 프로그래머들까지 다시 불러들이는 사태까지 벌어졌습니다. 규모는 훨씬 작았지만, 이와 매우 유사한 사례가 있습니다. NASA가 보이저 1호와 2호의 하드웨어 부품 고장으로 컴퓨터를 복구하기 위해 은퇴한 프로그래머들을 다시 불러들인 것인데, 이는 아마도 시스템 엔지니어링 역사상 가장 위대한 ‘우주 해킹’ 사례일 것입니다.

다행히 이러한 영웅적인 호소는 대부분 효과를 거두었습니다. 하지만 이것은 확실히 지속 가능한 해결책은 아닙니다.

블랙박스 AI는 새로운 COBOL인가?

프로그래밍 언어와 AI 알고리즘 사이에는 큰 차이가 있습니다. 전자는 도구이고, 후자는 방법론입니다. 도구는 사용자의 숙련도에 따라 유용성이 결정되지만, 방법론은 그 자체로 불변하며 그대로 적용 가능하면서도 새로운 요구 사항이 생길 때 확장될 수 있습니다.

망치는 주로 못을 박는 데 사용됩니다. 사용자의 숙련도에 따라 다른 용도로도 사용할 수 있지만, 이것이 주된 목적입니다. COBOL은 1960년대와 70년대 메인프레임에서 데이터와 트랜잭션을 처리하기 위해 만들어졌습니다. 물론 (약간의 인내심만 있다면) COBOL로 신경망을 만들 수도 있지만, 그것이 COBOL의 주된 목적은 아닙니다. 실제로 현대의 데이터 처리와 트랜잭션은 당시에는 존재하지 않았던 네트워킹 및 다중 프로그래밍 기능을 필요로 합니다.

오늘날 많은 AI 전문가들은 LLM(언어 모델) 방법론과 그 응용 분야의 발전 양상에서 이와 유사한 패턴을 발견하고 우려하고 있습니다. LLM은 언어 모델이며, 본질적으로 단어와 구문을 다룹니다. 트랜스포머의 등장으로 이러한 용어들은 숫자, 그림, 오디오 및 비디오 파일 등 사실상 모든 종류의 데이터로 일반화되었습니다. 그러나 이러한 데이터 유형에 언어적 접근 방식을 사용하는 것이 반드시 자연스러운 의미를 갖는 것은 아닙니다. 실제로 딥러닝(DL) 오토인코더처럼 이미지의 각 부분 사이에 단어 상관관계를 부여하는 것은 완전히 임의적이며, 고양이 사진이나 나무 사진처럼 통계적으로 자연스럽게 함께 나타나는 현상 외에는 실질적인 의미가 없습니다.

나무와 고양이를 인식하도록 훈련된 딥러닝 모델에 반대 방향의 노이즈를 입력하면, 이 둘의 중간 형태, 예를 들어 네 발 달린 나무나 가지를 가진 고양이 같은 것을 생성할 수 있습니다. 여기서 중요한 차이점은 이러한 객체를 인식하는 것과 이해하는 것의 차이입니다. 즉, 실제 나무는 다리가 있을 수 없고, 실제 고양이는 가지가 있을 수 없습니다. 여러 면에서 이러한 생성형 인공지능(GenAI) 모델은 그저 보기 좋은 노이즈 생성기에 불과합니다.

하지만 이것이 가장 큰 문제는 아닙니다. 진짜 문제는 거의 모든 딥러닝 모델과 대부분의 신경망처럼, GenAI가 추론 과정의 정확한 단계를 추적하는 것이 불가능하다는 점입니다. 충분히 크고 통계적으로 유효한 훈련 데이터셋이 주어진다면 특정 작업을 매우 효율적으로 수행하도록 훈련시킬 수 있지만, 특정 입력에 대해 특정 출력을 생성하는 이유를 분석하는 것은 거의 불가능합니다. 이 문제는 모델의 복잡성이 증가함에 따라 더욱 심각해지며, 정확성과 신뢰성을 엄격하게 보장할 수 없기 때문에 이러한 모델은 안전이 중요한 응용 분야에서는 사실상 배제됩니다. 안타깝게도, 딥러닝 기반 기능들이 현실 세계에 너무 성급하게 도입되어 잘못된 AI 동작으로 인해 실제 인명 피해를 초래한 사례가 이미 많이 있습니다.

설명 가능성은 인공지능 연구의 궁극적인 목표이며, 일부 전문가들은 진정한 인공 일반 지능(AGI) 달성보다 더 중요하다고 말합니다. 그 이유는 AGI가 매우 일반적이고 추상적이며 거의 철학적인 개념인 반면, 설명 가능성은 가능한 한 빨리 해결해야 할 매우 구체적이고 기술적인 문제이기 때문입니다. 인공지능 시스템이 점점 더 강력해짐에 따라, 우리는 그 시스템을 신뢰할 수 있어야 합니다. 그 신뢰의 의미는 무엇이든 간에 말입니다.

결론

일상적인 데이터 처리의 대부분을 레거시 COBOL 코드로 처리하는 것은, 내부 작동 방식을 제대로 이해하지 못한 AI를 맹목적으로 사용하는 것과 크게 다르지 않습니다. 둘 다 블랙박스 솔루션입니다. COBOL처럼 아주 오래전에 만들어진 것도 있고, 딥러닝이나 LLM처럼 규모와 복잡성이 너무 커져서 더 이상 손댈 수 없는 단계에 이른 것도 있습니다. 우리는 그저 표면적인 최종 사용자 역할에만 머물러 있을 뿐입니다.

블랙박스 솔루션에 대한 사후 분석 없이 의존할수록, 나중에 바꾸기는 더욱 어려워집니다. 시간이 지나면 아주 작은 수정조차 할 수 있는 전문가가 부족해지고, 더 시간이 흐르면 ​​돌이킬 수 없는 문제를 일으킬 위험 때문에 아무도 변화를 시도하지 않게 됩니다.

잠시 멈춰 서서 심호흡을 하고 차분히 생각해 볼 필요가 있습니다. 완전히 이해하고 신뢰할 수 없는 기술을 개발하는 것은 의미가 없습니다. 기계가 우리를 대신하여 매우 어렵고 까다로운 작업을 수행하는 것과, 우리가 얼마나 그 기계를 신뢰할 수 있는지조차 알지 못한 채, 더 나아가 미래에 그 기계를 변경할 수조차 없는 상황에서 중요한 일을 수행하는 것 사이에는 엄청난 차이가 있습니다.

2개의 좋아요