News Feed

파이썬 없어도 충분…AI/ML 개발에 바로 쓰는 자바스크립트 툴 10선

컨텐츠 정보

  • 조회 373

본문

많은 개발자가 ML과 LLM이라고 하면 곧 파이썬을 떠올린다. 파이썬이 많은 얼리 어댑터가 처음 선택한 언어이고 지금도 여전히 인기가 있음을 고려하면 자연스러운 반응이다. 그러나 AI 혁명은 방대한 영역에 걸쳐 일어나는 만큼 자바스크립트 개발자가 소프트웨어에 AI를 통합하기 위해 선택할 수 있는 툴도 많다.

여기서 소개하는 모든 툴과 라이브러리는 자바스크립트 울타리를 벗어나지 않고도 AI/ML의 잠재력을 활용할 수 있게 해주는 유용한 옵션이다. 이 중에는 대규모 데이터 센터에서 실행되는 주요 모델을 활용해 웹 서버와 애플리케이션 연결을 간소화하는 툴도 있고, 로컬에서 LLM을 학습하고 실행하기 위한 강력한 루틴을 제공하는 툴도 있다. 모두 자바스크립트로 AI/ML 애플리케이션을 만들기 위한 견고한 구성 요소다.

텐서플로우.js

구글은 텐서플로우를 오픈소스로 공개하며 세상에 큰 선물을 안겼다. 텐서플로우(TensorFlow.js)를 사용하면 자바스크립트 또는 타입스크립트로 ML 모델을 개발하고 웹 브라우저나 Node.js 환경에 배포할 수 있다. 덤으로 tfjs-vis도 있다. TensorFlow.js용으로 개발된 많은 재미있는 라이브러리 중 하나인 비스 API(Vis API)는 브라우저에서 바로 모델 성능을 시각화할 수 있게 해준다.

허깅페이스 트랜스포머.js

허깅페이스 역시 웹 브라우저, 또는 자바스크립트를 지원하는 기타 환경에서 모델을 실행하기 위한 옵션을 제공한다. 트랜스포머.js(Transformers.js)의 기능은 인기 있는 파이썬 기반의 트랜스포머(Transformers) 라이브러리와 동일하지만 브라우저에서 웹GPU(WebGPU)와 웹어셈블리(WebAssembly)를 활용할 수 있게 해준다. Transformers.js는 감정 분석, 채팅 템플릿 제작과 같은 더 높은 수준의 지원도 제공하므로 많은 AI 작업을 로컬에서 보다 쉽게 처리할 수 있다. 서버 측 코드가 아예 필요 없다고는 할 수 없지만 작업의 상당부분을 사용자 기기로 덜어낼 수 있다는 점은 확실하다.

브레인.js

웹 브라우저를 통해 신경망을 구축하고 세상에 선보이고 싶다는 생각을 해본적이 있다면 브레인.js(Brain.js)를 사용하면 된다. 브레인.js는 자바스크립트로 신경망을 구현하기 위한 다양한 모델을 제공하며, GPU도 활용한다. 신경망이 데이터를 통해 학습하는 과정에서 내부적으로는 무슨 일이 일어나는지 이해하는 데 도움이 되는 브레인.js 자습서가 제공된다. 깃허브에서 브레인.js 소스 코드와 타입스크립트 및 자바스크립트로 작성된 예제를 찾아볼 수 있다.

앵귤러

원래 앵귤러는 더 나은 웹 애플리케이션을 만들기 위한 목적으로 만들어진 웹 애플리케이션 프레임워크일 뿐이었다. 그러나 이제 상황이 달라지고 있다. 구글은 대규모 언어 모델이 스스로 앵귤러 애플리케이션을 만드는 데 도움이 되는 새로운 기능을 추가했다. 또한 기계 관점에서 이해하기 쉬운 리소스 가이드인 llms.txt 파일과, 모델이 최선의 방법을 사용해서 앵귤러 코드를 작성할 수 있게 해주는 best-practices.md도 추가했다. 이제 여러 인기 있는 LLM을 사용해 앵귤러 앱을 만들 수 있다.

AI.JSX

픽시닷에이아이(Fixie.ai) 개발팀은 주로 리액트 중심의 프로젝트 내에서 대화형 스타일의 인터페이스를 지원하기 위한 목적으로 AI.JSX를 만들었다. 간단한 예제를 통해 인기 있는 오픈AI 인터페이스를 재현하는 방법을 볼 수 있다. 고급 사용자라면 AI 응답을 사용해서 필요에 따라 다양한 구성요소로 새 인터페이스를 구성하는 동적 웹사이트를 만들 수 있다.

라마인덱스.js

많은 AI 작업에서는 범용 LLM, 그리고 방대한 데이터에서 가장 관련성 높은 문서를 찾는 RAG(retrieval augmented generation) 툴의 기능을 함께 사용해야 한다. 라마인덱스.js(LlamaIndex.js) 프레임워크는 문서를 수집하고 벡터 표현을 구축하고 빠른 검색을 위해 이를 인덱싱하는 과정을 간소화하는 다양한 툴을 제공한다. 이러한 툴을 사용하면 어떤 질의든 적절한 문서와 결합할 수 있다. 라마인덱스.js를 통합하고 이런저런 워크플로우를 연결하기만 하면 디지털 모래사장 속에서 원하는 것을 찾는 어려운 일은 툴이 알아서 해준다.

ml5.js

브라우저는 자바스크립트가 처음 탄생한 곳인 만큼 자바스크립트와 타입스크립트로 작성된 머신러닝 애플리케이션과도 자연스럽게 잘 맞는다. ml5.js는 머신러닝을 위한 라이브러리로, 브라우저 기반 머신러닝 애플리케이션에 즉시 통합할 수 있다. 이 툴은 학생들에게 모델 구축과 학습 실습을 제공하고자 하는 교육자들 사이에서 인기가 높다. 티처블머신(TeachableMachine)과 함께 시각적 실험에 사용하는 경우도 있고, 개인 웹페이지에 직접 연결하는 경우도 있다.

버셀 AI SDK

버셀(Vercel)의 AI SDK는 모든 주요 LLM 업체, 그리고 많은 소규모 업체의 모델에 접근할 수 있는 일종의 중앙 거래소와 같다. 주요 자바스크립트 프레임워크(앵귤러, 리액트, 뷰 등)에 코드를 삽입해서 해당 프레임워크가 LLM에 프롬프트를 보내고 답변을 받도록 할 수 있다. 애저, 미스트랄(Mistral), 그록(Grok), 퍼플렉시티(Perplexity)와 같은 주요 옵션을 포함한 십여 가지의 옵션이 제공된다. 각 API 간의 차이는 SDK가 알아서 처리하므로 따로 신경 쓸 필요가 없다.

랭체인

AI 개발자의 숙련도가 높아지고 다양한 모델을 다수 호출하는 복잡한 아키텍처를 구축하기 시작하는 상황에서 랭체인과 같은 툴은 매우 유용하다. 이 메타 툴은 다양한 모델 호출을 추상화하는 동시에 여러 호출을 연결해 복잡한 작업을 처리하고 작업 수행의 자율성을 구현한다. 데브옵스 팀도 프로덕션 환경에서 애플리케이션 동작을 모니터링하는 데 랭체인을 사용할 수 있다.

업체 라이브러리

모든 주요 업체는 각자의 API에 액세스하기 위한 좋은 라이브러리를 제공하며, 많은 경우 이것 만으로도 LLM의 잠재력을 끌어내는 데 충분하다. 프롬프트 문자열이 입력되면 답변이 출력된다. 업체가 하는 일은 수수료를 받고 모델을 지속적으로 학습시키고 실행하는 것이다. 가장 눈에 띄는 자바스크립트 라이브러리는 오픈AI, 구글 제미나이, 버셀, IBM, 아마존의 라이브러리다. 이와 같은 다양한 라이브러리는 자바스크립트의 익숙한 환경을 벗어나지 않고도 AI를 탐색할 수 있는 탄탄한 기반을 제공한다.
dl-itworldkorea@foundryco.com

관련자료

댓글 0
등록된 댓글이 없습니다.
Member Rank