파이썬 개발자는 약간의 업스킬만으로 AI 시대에 성공할 수 있는 유리한 위치에 있다.
광범위한 AI 도입이 소프트웨어 엔지니어링 세계에서 패러다임의 변화를 이끌고 있다. 파이썬은 사용 편의성, 성숙한 생태계, AI/ML 워크플로우의 데이터 기반 요구사항을 충족할 수 있는 기능 덕분에 AI 개발에 가장 선호되는 프로그래밍 언어로 빠르게 자리를 잡았다. AI가 새로운 산업과 사용례로 확장되고 파이썬 기능이 발전하면서 파이썬 언어에 능통한 개발자에 대한 수요도 폭발적으로 증가할 전망이다. AI와 ML 지식에 투자하는 파이썬 개발자는 AI 시대에 성공할 수 있는 유리한 입지를 점할 수 있다.
티오베(TIOBE) 프로그래밍 커뮤니티 인덱스에 따르면, 파이썬은 가장 인기 있는 프로그래밍 언어다. 파이썬은 2021년 처음으로 티오베 인덱스에서 선두로 올라왔으며, 이후 다른 언어의 성장이 대부분 정체된 사이에도 파이썬의 인기는 계속 폭발적으로 증가했다. 구글 트렌드 데이터를 기반으로 한 PYPL 인덱스에 따르면, 구글의 프로그래밍 언어 자습서 검색 중 파이썬의 비중은 약 30%로, 2위인 자바의 2배에 가깝다. 파이썬의 인기는 당연히 AI 워크플로우로 확대됐다.
파이썬이 AI 개발을 주도하는 이유
파이썬을 AI 개발을 위한 이상적인 언어로 만들어주는 요소는 사용의 용이함, 풍부하고 계속 성장 중인 AI 라이브러리 및 툴킷 생태계, 실행 속도와 확장성을 높여주는 라이브러리와 툴을 포함해 여러 가지다.
사용 편의성과 생태계
파이썬은 배우기 쉽고 쓰기도 간단한 언어이며 프로그래밍 경험이 없는 사람에게도 접근성이 높다. 복잡한 상용구 코드를 쓸 필요가 없으며 반복적인 작성이 가능하다. 파이썬에서 사용 가능한 많은 AI 개발 툴킷의 라이브러리는 일반적으로 가벼우며, AI 모델 빌드 또는 학습이 필요하지 않다. 파이썬 개발자는 솔루션 업체의 전문 툴을 통해 사용할 수 있는 모델로 AI 앱 개발 속도를 높일 수 있다.
파이썬을 중심으로 한 생태계는 방대하다. 텐서플로우(TensorFlow), 파이토치(PyTorch), 케라스(Keras), 사이킷-런(Scikit-learn), 판다스(Pandas)를 비롯해 AI/ML용으로 설계된 라이브러리와 프레임워크도 풍부하다. 이런 툴은 빠른 개발과 프로토타이핑을 가능하게 해주는 사전 구축된 함수와 구조를 제공한다. 또한 넘파이, 판다스와 같은 패키지와 라이브러리는 데이터 조작과 분석을 간편하게 해주며, 대용량 데이터 집합을 다루는 데 유용하다. AI/ML을 위한 많은 파이썬 툴은 오픈소스로, 협업과 혁신을 촉진한다.
사용자 기반과 사용례
AI 개발이 발전함에 따라 더 많은 사람과 더 많은 사용례를 포용하도록 파이썬의 문도 넓어지고 있다. 현재 파이썬은 탐색용, 나아가 로우코드 솔루션에도 사용할 수 있다. 앞으로 구축될 AI 애플리케이션의 대다수에는 파이토치, 텐서플로우 수준의 맞춤 구성과 성능은 불필요하다. 또한 미래의 AI 앱은 LLM을 사용하는 애플리케이션을 구축하기 위한 랭체인(LangChain), 라마인덱스(LlamaIndex)와 같은 다른 라이브러리 집합을 사용할 것이다.
파이썬을 위한 새로운 패키지는 수시로 추가되며, AI 이상으로 지평을 넓혀 고급 웹사이트 구축과 같은 더 일반적인 사용례도 포함하게 될 것이다. 오늘날 개발자가 파이썬을 사용해서 수행하는 모든 작업은 어떤 형태로든 AI의 영향을 받는다.
성능 보조
사이썬(Cython)과 같은 라이브러리를 통해 파이썬을 확장하면 거의 C 언어에 근접한 성능을 내고, 파이파이(PyPy)와 같은 JIT 컴파일러는 코드 실행 속도를 비약적으로 개선해준다. 핵심적인 성능 구성요소는 C 또는 C++로 작성하고 파이썬으로 래핑해서 성능과 파이썬의 사용 편의성을 결합할 수도 있다. 파이썬은 특히 대스크(Dask) 또는 레이(Ray) 등 파이썬 애플리케이션을 확장하도록 설계된 툴을 통해 프로토타입에서 프로덕션 솔루션으로 쉽게 전환할 수 있게 해준다.
파이썬 개발자에게 필요한 AI 프로젝트
파이썬은 사용이 용이해서 기술 숙련도가 비교적 낮은 개발자도 쉽게 배울 수 있지만, 미래의 AI 산업을 위해 집중해야 할 몇 가지 기술이 있다. 개발자는 AI를 통해 대규모 데이터 집합을 빠르고 효율적으로 처리할 수 있는 코드를 작성해야 한다. 병렬 프로그래밍, 스로틀링, 로드 밸런싱과 같은 개념에 대한 이해가 필요하다. 파이썬 개발자는 이런 작업에서 성공적인 결과를 얻기 위한 기반 지식을 이미 갖추고 있지만 AI 프로젝트로 효과적으로 전환하고 혼잡한 취업 시장에서 스스로를 차별화하기 위해서는 보유한 기술 수준을 높여야 한다.
파이썬 개발자에게 부족할 수 있는 한 가지 영역은 AI 혁신의 다음 단계인 AI 에이전트 관련 작업이다. 에이전트 AI가 적용된 소프트웨어 에이전트는 단순히 프롬프트에 대한 응답으로 정보를 제공하는 것이 아니라 설정된 목표를 향해 자율적으로 동작하도록 설계된다. 개발자는 이 정교한 오케스트레이션 또는 작업 시퀀스를 따를 수 있는 프로그램을 작성하는 방법을 이해해야 한다.
또한 AI는 개발 프로세스 자체에서도 더 능동적인 역할을 맡고 있다. 일종의 코파일럿 역할을 하면서 코드 샘플을 찾고 소프트웨어를 작성하는 고된 일을 맡아 처리해서 개발자가 코드 검토와 더 높은 수준의 전략적 작업에 집중할 수 있게 해준다. AI가 안정적이고 안전한 코드를 생성하도록 이끌기 위해서는 기술이 필요하다. 이는 개발자가 익혀야 할 중요한 기술로, 미래의 개발자에게 핵심적인 역량이 될 것이다.
파이썬 개발자가 AI 학습 여정을 시작하는 방법
항상 새로운 기술을 사용하는 방법을 배우고 스킬셋을 보완하라고 조언하고 싶다. 특히 AI 혁신은 속도가 워낙 빨라 그 필요성이 더욱 시급하다. 필자는 지속적인 학습을 중시하며 학습과 성장의 책임은 회사가 아닌 개인에게 있다고 생각한다. 오늘날의 세계에는 누구나 손만 뻗으면 무료로 사용할 수 있는 매우 가치 있는 학습 리소스가 넘쳐나므로 접근성과 비용은 업스킬을 포기할 구실이 되지 않는다. 개발자가 하루에 단 15분이라도 AI 학습에 투자한다면 그 투자는 나중에 큰 보상으로 돌아올 것이다.
구글, 스노우플레이크 유니버시티, 몽고DB 유니버시티 등 많은 기업이 직원, 나아가 일반 대중에게도 전문성 개발 수당과 기회를 제공한다. 코세라(Coursera)와 유데미(Udemy)는 유무료 자격증 및 과정을 모두 제공하며 유튜브는 freeCodeCamp.org의 자습서를 포함한 많은 자습서를 제공한다. 또한 코드아카데미(Codecademy)의 웹사이트에도 무료 과정이 있다. 주요 대학들도 일반인을 위한 무료 파이썬 강좌를 운영한다. 이런 리소스가 사방에 널려 있다.
물론 가장 효과적인 것은 실습이다. 파이썬을 사용한 AI 작업을 업무에 사용하는 툴셋에 결합해 현장에서 배울 수 있다면 개발자와 회사에 모두 이익이 된다. 이런 옵션을 사용할 수 없다면 자기만의 파이썬 프로젝트를 직접 시작해 보기를 권한다. 필자는 약 1년 전에 파이썬을 사용해 몇 주의 주말을 투자해서 운동과 필요한 영양분 파악에 활용할 개인용 AI 기반 위젯을 만들었다. 이는 AI 기술을 실용적이고 재미있는 방식으로 배울 수 있는 여러 방법 중 하나의 예다. 필자는 만나는 사람마다 이렇게 해보도록 권한다.
파이썬과 AI 간의 시너지는 지금도 강력하지만 AI가 더 많은 애플리케이션과 산업에 통합됨에 따라 더욱 강력해질 것으로 전망된다. 간소하고 다재다능한 파이썬은 AI의 힘을 활용하고자 하는 개발자에게 이상적인 선택이다. AI 기술이 발전하고 확산됨에 따라 파이썬 개발자는 적극적으로 파이썬에 대해 배우고 빠르게 변화하는 환경에서 적합성과 적응력을 유지할 수 있는 기회를 맞고 있다.
*Jeff Hollan은 Snowflake의 앱 및 개발자 도구 책임자다.
editor@itworld.co.kr