News Feed

AI·머신러닝의 판을 바꾸는 16가지 오픈소스 프로젝트

컨텐츠 정보

  • 조회 460

본문

지난 수십 년 동안 가장 혁신적인 소프트웨어는 항상 오픈소스 소프트웨어 세계에서 등장했다. 머신러닝과 대규모 언어 모델의 경우도 마찬가지다. 이제 오픈소스 코드를 보완하기 위한 오픈소스 모델까지 등장하면서 오픈소스 생태계는 더 풍성해지고, 그만큼 더 복잡해졌다.

이 기사에서는 AI와 머신러닝을 위한 가장 흥미롭고 유용한 프로젝트를 소개한다. 상당수는 오픈소스 플러그인과 확장 프로그램 생태계를 자체적으로 육성하고 있는 파운데이션 프로젝트다. 처음에는 기본 프로젝트로 시작하고 이후 필요한 부분을 추가해 나갈 수 있다.

여기서 소개하는 대다수 프로젝트는 데모 코드를 제공하므로 기본적인 작업이 가능한 버전을 바로 시작할 수 있다. 또한 이런 프로젝트를 구축하고 유지하는 기업은 관련 서비스를 함께 판매하는 경우가 많다. 코드를 알아서 배포하고 운영의 번거로움에서 벗어나게 해주거나, 맞춤형 애드온과 수정 기능을 판매하기도 한다. 코드는 오픈소스 그대로이므로 업체 종속도 없다. 이런 서비스는 비용을 받는 대가로 코드 도입을 더 쉽게 해주는 역할을 할 뿐이다.

기사에서는 개발자가 소형부터 대형, 초대형에 이르기까지 다양한 크기의 머신러닝 및 대규모 언어 모델이 가진 잠재력을 끌어내는 데 사용할 수 있는 16가지 오픈소스 프로젝트를 소개한다.

에이전트 스킬(Agent Skills)

AI 코딩 에이전트는 리액트(React) 컴포넌트를 작성하거나 사용자 인터페이스의 일부를 검토하는 등의 표준적인 작업에 사용된다. 코딩 에이전트를 만드는 중이라면 그 작업에 초점을 맞춘 검증된 솔루션을 사용하는 것이 합리적이다. 에이전트 스킬은 AI가 필요에 따라 배포할 수 있는 사전 코딩된 툴이다. 결과적으로 표준 가이드라인을 유지하면서 정제되고 유용한 코드를 생산할 수 있는 검증된 작업 모음을 제공한다.

라이선스 : MIT.

어썸 LLM 앱(Awesome LLM Apps)

에이전틱 코딩의 좋은 사례를 찾고 있다면 어썸 LLM 앱 컬렉션을 살펴보자. 현재 이 프로젝트에는 RAG 데이터베이스와 LLM의 조합을 활용하는 수십 개의 애플리케이션이 포함돼 있다. 밈 생성기와 같은 단순한 앱도 있고, 심층적인 리서치를 수행하는 저널리스트 에이전트도 있다. 고도로 복잡한 사례에서는 멀티 에이전트 팀을 구축해 하나의 답으로 수렴한다. 모든 애플리케이션에는 실험을 위해 바로 사용 가능한 예제가 포함돼 있으므로 과거의 성공 사례에서 배울 수 있다. 이 컬렉션에 포함된 다양한 앱은 프로젝트를 위한 영감을 얻기에 좋다.

라이선스 : 아파치 2.0.

바이프로스트(Bifrost)

애플리케이션에서 LLM 서비스에 액세스해야 하는데 아직 마음에 두고 있는 서비스가 없다면 바이프로스트를 살펴볼 만하다. 바이프로스트는 오픈AI 호환 API로, 15개 이상의 LLM 공급자를 지원하는 고속 통합 게이트웨이 역할을 하며 모든 주요 모델을 포함한 모델 간의 차이점을 빠르게 추상화한다. 거버넌스, 캐싱, 예산 관리, 로드 밸런싱과 같은 필수 기능을 포함하며, 문제가 서비스 공급자까지 전달되기 전에 잡아내는 가드레일을 갖추고 있다(서비스 공급자는 사용 시간만큼 비용을 청구함). 수십 개의 뛰어난 LLM 공급자들이 계속해서 새롭고 더 나은 모델을 발표하는 상황에서 굳이 스스로를 제한할 이유는 없다.

라이선스 : 아파치 2.0.

클로드 코드(Claude Code)

AI 코딩 어시스턴트의 인기를 통해 알 수 있는 사실은 AI 앱을 만드는 개발자뿐만 아니라 모든 개발자가 코드 작성과 리뷰에서 약간의 도움을 반긴다는 점이다. 클로드 코드는 바로 그런 도움을 주는 페어 프로그래머다. 모든 주요 프로그래밍 언어에 대해 학습된 클로드 코드는 더 우수하고 빠르고 깔끔한 코드를 작성할 수 있도록 돕는다. 코드베이스를 파악한 다음 개발자의 지시에 따라 작업을 수행하면서 유용한 제안도 한다. 자연어 명령과 약간의 두루뭉술한 설명만 제시하면 기존 코드를 리팩터링하고 문서화하고 심지어 새로운 기능까지 추가해준다.

라이선스 : 앤트로픽 상용 TOS

클로드봇(Clawdbot)

이 목록에 포함된 많은 툴은 개발자가 다른 사람을 위한 코드를 작성하는 데 도움을 준다. 클로드봇은 코드를 작성하는 사람, 즉 개발자를 위한 AI 어시스턴트다. 데스크톱과 통합돼 카메라 같은 기본 툴, 브라우저와 같은 대형 애플리케이션 등을 제어한다. 멀티 채널 인박스는 왓츠앱, 텔레그램, 슬랙, 디스코드를 비롯해 십여 가지의 커뮤니케이션 채널을 통해 개발자의 명령을 수신하며, 크론 작업으로 정해진 시간에 작업을 실행할 수도 있다. 데이터를 다루는 개발자를 위한 궁극의 어시스턴트다. AI가 우리의 일상을 더 쉽게 만들어주기 위해 존재한다고 하니, 데스크톱의 애플리케이션을 정리하는 것부터 시작해보자.

라이선스 : MIT.

디파이(Dify)

LLM을 여러 번 호출해야 하는 프로젝트에서는 디파이가 해답이 될 수 있다. 디파이는 복잡한 에이전틱 워크플로우를 구축하기 위한 개발 환경으로, LLM과 RAG 데이터베이스, 기타 소스를 하나로 묶는다. 그런 다음 다양한 프롬프트와 매개변수 하에서 어떻게 작동하는지 모니터링하고 결과를 대시보드로 종합해 반복적인 개선이 가능하도록 한다. 에이전틱 AI 개발을 위해서는 빠른 실험이 필요한데, 디파이는 이런 실험에 맞는 환경을 제공한다.

라이선스 : 일부 상업적 사용을 배제하도록 수정된 아파치 2.0 버전

아이겐트(Eigent)

에이전틱 워크플로우의 역량과 한계를 탐색하기 위한 최선의 방법은 직접 자신의 컴퓨터에 배포해 문제를 해결하도록 하는 것이다. 아이겐트는 코드 작성, 웹 검색, 문서 생성과 같은 작업을 처리하는 전문 에이전트 역량을 제공한다. 대략적인 지시만 내리면 아이겐트의 LLM이 그 지시를 따르기 위해 최선을 다한다. 많은 스타트업이 “우리가 만든 제품을 우리도 사용한다”고 자랑하는데, 아이겐트는 이 개념을 가져와 AI 개발자가 자신이 구축하는 LLM의 기능과 한계를 직접, 손쉽게 경험할 수 있게 해준다.

라이선스 : 아파치 2.0.

헤드룸(Headroom)

프로그래머는 온갖 잡동사니를 수집하는 사람과 사고방식이 비슷한 경우가 많다. 무작정 더 많은 데이터를 집어넣으려고 한다. 이런 사고방식은 LLM을 사용하는 코드에서 문제를 일으킬 수 있다. 토큰 단위로 비용이 청구되고 컨텍스트 윈도우도 제한되기 때문이다. 헤드룸은 특히 JSON과 같은 일반적인 형식에서 볼 수 있는 부가적인 라벨과 구두점을 정리하는 민첩한 압축 알고리즘을 통해 이 문제를 해결한다. 실용적인 AI 애플리케이션 설계에서 비용 공학은 중요한 요소다. 토큰 절약은 곧 비용 절감을 의미한다.

라이선스 : 아차피 2.0.

허깅 페이스 트랜스포머(Hugging Face Transformers)

허깅페이스 트랜스포머는 새 머신러닝 프로젝트를 시작할 때 사용할 수 있는 가장 뛰어난 기반이다. 트랜스포머는 모델이 세계와 상호작용하는 방식을 정의하기 위한 표준 형식을 제공해서 새 모델을 학습 또는 배포를 위해 기존 인프라에 손쉽게 투입할 수 있게 한다. 따라서 모델은 텍스트, 비전, 오디오, 비디오, 또는 이 모든 것의 조합에 대해 이미 사용 가능한 툴 및 인프라 전반과 원활하게 상호작용할 수 있다. 표준 패러다임에 맞추면 최신 연구에 집중하면서 기존 툴을 훨씬 더 쉽게 활용할 수 있다.

라이선스 : 아파치 2.0.

랭체인(LangChain)

끝없는 반복이 필요한 에이전틱 AI 솔루션에서 랭체인은 작업을 정리하는 수단이 된다. 랭체인은 방대한 모델 컬렉션의 작업을 활용해 인간이 손쉽게 답변을 점검하고 선별할 수 있게 해준다. 작업에 더 심층적인 사고와 계획이 필요한 경우에도 랭체인은 여러 모델을 활용해 해결책으로 수렴하는 에이전트를 간편하게 사용할 수 있게 해준다. 랭체인 아키텍처에는 장기 메모리를 갖춘, 손쉽게 맞춤설정이 가능한 워크플로우를 기업하기 위한 프레임워크(랭그래프), 성능을 평가하고 개선하기 위한 툴(랭스미스)이 포함된다. 딥 에이전트(Deep Agents) 라이브러리는 문제를 하위 집합으로 나눈 다음 계획을 수립하고 해결 방법을 도출하는 하위 에이전트로 구성된 팀을 제공한다. 에이전틱 실험과 프로덕션 배포를 위한, 검증되고 유연한 테스트베드다.

라이선스 : MIT.

라마인덱스(LlamaIndex)

LLM 초기 응용의 상당수는 대규모 반정형 데이터 컬렉션을 분류하고 사용자의 질문에 유용한 응답을 제공하는 것이다. 비공개 데이터로 표준 LLM을 맞춤설정하는 가장 빠른 방법은 라마인덱스를 사용해 데이터를 수집하고 인덱싱하는 것이다. 이 툴은 많은 경우 몇 줄의 코드만으로도 대량의 문서와 테이블, 기타 데이터를 풀어내고 정리할 수 있는 데이터 커넥터를 제공한다. 작업에서 필요에 따라 기반 레이어를 조정하거나 확장할 수 있다. 라마인덱스는 기업에서 흔히 사용되는 많은 데이터 형식과 호환된다.

라이선스 : MIT.

올라마(Ollama)

노트북에서 LLM을 실험하는 사람에게 올라마는 하나 이상의 LLM을 다운로드해서 시작하기 위한 가장 간단한 방법이다. 올라마를 설치하면 명령줄을 고전적인 챗GPT 인터페이스처럼 사용할 수 있다. 이 인터페이스는 계속 성장하는 오픈소스 옵션 라이브러리에서 방대한 모델 컬렉션을 가져올 수 있다. ollama run 을 입력하기만 하면 모델을 바로 사용할 수 있다. 일부 개발자는 이를 LLM 결과를 위한 백엔드 서버로 사용한다. 이 툴은 LLM에 대한 안정적이고 신뢰할 수 있는 인터페이스를 제공하는데, 과거에는 이를 구현하기 위해서는 상당한 엔지니어링과 번거로운 작업이 필요했다. 이런 모든 작업을 서버가 단순화해주므로 사용자는 가장 인기 있는 오픈소스 LLM을 자유롭게 사용하면서 더 높은 수준의 과제에 집중할 수 있다.

라이선스 : MIT.

오픈웹UI(OpenWebUI)

채팅 인터페이스와 전용 RAG 데이터베이스를 갖춘 웹사이트를 가장 빠르게 구축하는 방법은 오픈웹UI 인스턴스를 띄우는 것이다. 오픈웹UI 프로젝트는 기능이 풍부한 프론트엔드와 개방형 백엔드를 연결해서 도커 컨테이너 몇 개만으로 맞춤설정 가능한 채팅 인터페이스를 시작할 수 있게 해준다. 이 프로젝트는 시작에 불과하고, 플러그인과 확장을 추가해 각 단계에서 데이터를 강화할 수 있다. 프롬프트에서 답변에 이르기까지 체인의 거의 모든 부분을 조정, 교체하거나 개선할 수 있다. 설치만으로 충분한 경우도 있지만 이 프로젝트의 강점은 개발자가 자체 코드를 추가할 때 발휘된다. 프로젝트 자체가 오픈소스일 뿐 아니라, 수많은 기여 코드와 보조 프로젝트도 매우 유용하게 활용할 수 있다. 파이프라인을 맞춤설정하고 MCP 프로토콜을 활용할 수 있다는 점은 정밀한 솔루션 제공을 제공할 수 있는 기반이 된다.

라이선스 : 엔터프라이즈 라이선스가 없는 경우 오픈웹UI 브랜딩 제거를 제한하는 수정된 BSD.

심(Sim)

이 제공하는 드래그 앤 드롭 방식의 캔버스는 에이전틱 워크플로우 실험을 더 쉽게 해준다. 다양한 LLM 및 벡터 데이터베이스와의 상호작용에 따르는 세부적인 부분을 알아서 처리하므로 사용자는 조합 방법만 결정하면 된다. 심과 같은 인터페이스는 코드를 작성할 줄 모르는 팀원을 포함한 누구나 에이전트를 경험할 수 있게 해준다.

라이선스 : 아파치 2.0.

언슬로스(Unsloth)

파운데이션 LLM을 활용하는 가장 직관적인 방법으로는 오픈소스 모델로 시작해 자체 데이터로 파인 튜닝하는 것을 들 수 있다. 언슬로스가 바로 이 작업을 실행한다. 많은 경우 다른 솔루션보다 속도도 더 빠르다. 주요 오픈소스 모델은 대부분 강화학습을 통해 변환이 가능하다. 언슬로스는 대다수 표준 정밀도와 최대 수준의 컨텍스트 윈도우에서 작동하도록 설계됐다. 최선의 답이 항상 RAG 데이터베이스에서 직접 도출되는 것은 아니므로 때로는 모델을 조정하는 것이 가장 좋은 솔루션이 된다.

라이선스 : 아파치 2.0.

vLLM

LLM을 코드를 위한 유용한 서비스로 만드는 좋은 방법 한 가지는 vLLM으로 LLM을 시작하는 것이다. 이 툴은 허깅 페이스와 같은 리포지토리에서 사용 가능한 많은 오픈소스 모델을 로드한 다음 데이터 흐름을 조율해 실행 상태를 유지한다. 즉, 수신되는 프롬프트를 일괄 처리하고 파이프라인을 관리해 모델이 지속적으로 빠른 답변을 제공하도록 한다. CUDA 아키텍처뿐 아니라 AMD CPU와 GPU, 인텔 CPU와 GPU, 파워PC CPU, ARM CPU, TPU도 지원한다. 노트북에서 많은 모델을 실험하는 것과 프로덕션 환경에 모델을 배포하는 것은 전혀 다른 문제다. vLLM은 더 나은 성능을 제공하는 데 필요한 끝없는 작업을 상당수 처리할 수 있다.

라이선스 : 아파치 2.0.
dl-itworldkorea@foundryco.com

관련자료

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