출처 : https://www.itworld.co.kr/news/261190

현재 소프트웨어 개발자이거나  클라우드 관리자, 데이터 사이언티스트 또는 코드를 다루는 사람 모두에게 오픈소스 소프트웨어는 숨을 쉬는 공기와 같다. 오픈소스가 항상 흔했던 것은 아니다. 20~30년 전 ‘무료 소프트웨어’가 막 시작됐을 때, 오픈소스 프로젝트는 낯선 것이었고, 이를 만든 사람들은 기본적으로 학자, 연구원, 괴짜 등이었다. 하지만 이런 기벽이 유행하면서, 마치 오래된 격언처럼, 현재는 오픈소스 소프트웨어가 세상을 '집어 삼키고' 있다. 

오픈소스 소프트웨어 프로젝트는 실제로 컴퓨팅의 모든 부분에서 혁신 엔진 역할을 했다. 과거의 오픈소스 개발자는 인터넷을 구축했던 툴을 개발했고, 현재의 오픈소스 개발자는 이를 기반으로 프론트엔드(Front End) 개발, 백엔드(Back-end) 개발, 데브옵스(DevOps), 데이터 옵스(Data Ops), 분산형 데이터 처리, 데이터 분석, 머신러닝 등 더 새로운 툴을 만들고 있다. 여기 InfoWorld 선정 2022년 최고의 오픈소스 소프트웨어를 모은 '2022년 보씨 어워즈(Bossie Awards)' 프로젝트를 선정해 공개한다.

ⓒ IDG 

알마리눅스

세상에 새로운 리눅스 배포판이 또 필요할까? 많은 상용 소프트웨어가 RHEL(Red Hat Enterprise Linux)로 표준화했다. 기본적으로 RHEL의 무료 버전은 센트OS(CentOS)였다. 레드햇이 RHEL의 임시 대체재로써 인수한 후 지원을 중단해 버린 그 리눅스 배포판이다. 센트OS를 사용했던 많은 사람이 실망했는데, 그 빈자리를 채우기 위해 로키 리눅스(Rocky Linux)와 알마리눅스(AlmaLinux)가 등장했다. 알마리눅스는 RHEL과의 바이너리 호환성 및 커뮤니티 소유권을 장점으로 내세운다.
 

포드맨

새로운 공상 과학 공포물 장르는 아니고 컨테이너 관리자가 바로 포드맨(Podman)이다. 사실 포드맨 1.0은 2019년에 공개됐다. 도커(Docker)와 달리 포드맨은 권한이 없는 사용자가 단일 프로세스로 실행할 수 있으며 도커와 비교하여 제한이 적었다. 또한, 컨테이너 이미지와 팟 크기는 일반적으로 도커보다 포드맨이 더 작고, 포드맨에서 직접 쿠버네티스(Kubernetes) 팟을 구축할 수 있다. 심지어 포드맨은 여러 개의 같은 명령을 지원하므로, alias docker=podman처럼 단순화할 수 있다. 이 정도면 도커에서 벗어나 팟 사용자가 되고 싶은 생각이 들지 않는가?  
 

ⓒ IDG 

플레이 위드 도커

노트북이나 EKS, GKE 등으로 모든 작업을 수행할 수 있는 것은 맞다. 하지만 몇 개의 컨테이너만 사용하고 싶은 경우라면 어떨까? 이때 요긴한 것이 바로 플레이 위드 도커((Play with Docker)다. 5개 인스턴스, 4시간 제한 때문에 보안, AI, 분석(현재 이에 주목하는 스타트업이 많다) 등에는 적합하지 않지만, 전면적으로 도커를 도입하기 전에 테스트하기에는 꽤 좋은 툴이다.
 

바딘 

개발자가 HTML 또는 자바스크립트를 코딩할 필요 없이 자바에서 웹 사용자 인터페이스를 구현할 수 있는 웹 프레임워크가 있다면 이보다 좋은 것이 있을까? 바로 바딘(Vaadin)이 그렇다. 새로운 앱을 더 쉽게 코딩할 수 있을 뿐 아니라 서버측 API는 스윙(Swing)과 유사하기 때문에 스윙 애플리케이션을 최신 웹 애플리케이션으로 손쉽게 전환할 수 있다. Vaadin.com에서 확인하거나 깃허브에서 포킹(Forking)할 수 있다. 
 

ⓒ IDG 

J힙스터

J힙스터(JHipster)는 자바를 위한 야심찬 풀스택(Full-stack) 고속 애플리케이션 개발 플랫폼이다. 가장 놀라운 점은 일련의 다양한 기술이 프론트엔드와 데이터 계층에서 다양한 역할을 충족한다는 사실이지만, J힙스터는 여기서 멈추지 않는다. 스카폴드(Scaffold) 생성을 처리하고 Vue.js UI로 만든 몽고DB(MongoDB), 리액트(React)로 개발한 포스트그레스(Postgres) 등 이질적인 기술 스택에 CLI 도구 등 다양한 기능을 지원한다. 이 모든 것이 최신 스프링(Spring)/자바 미들웨어와 연결된다. 또한, J힙스터는 스프링 보안을 통해 보안을 강화하는 등 기존의 단점을 보완했고, 여러 최신 배치 옵션과 CI/CD 통합을 기본적으로 지원한다.
 

솔리드

많은 혁신적인 프론트엔드 자바스크립트 프레임워크 중 최고를 가려내는 것은 매우 어렵다. 페이스북이 지원하는 선두주자 리액트는 여전히 일정한 속도로 주목하지 않을 수 없는 새로운 기능을 쏟아내고 있는 혁신적인 프로젝트이고, Vue.js, 앵귤러(Angular), 스벨트(Svelte)는 모두 인상적이다.

우리가 무엇을 선택하든 누군가는 '프레임워크 X는 어때? Y를 더욱 잘 해'라고 이야기할 것이고 그 말은 언제나 옳다. 그럼에도 하나를 꼽지만, 일단 지난해에는 스벨트가 대상이었다. 올해는 아스트로(Astro), 퀵(Qwik), 솔리드(Solid)가 접전이었다. 아스트로는 다른 프레임워크에서 사용할 수 있는 섬의 개념을 통해 수치화에 대한 혁신적인 접근방식을 제공하고, 퀵은 처음부터 반응성 패러다임 전체를 과감하게 재창조했다. 최종적으로 우리의 선택은 솔리드다. 솔리드는 동급 최고의 성능을 제공하면서도 이해하기 쉬운 패키지로 제공한다.
 

ⓒ IDG 

레드우드

풀스택 자바스크립트 프레임워크를 선택하는 것은 순수한 프론트엔드 JS 프레임워크를 선택하는 것만큼 어렵다. 업계를 선도하는 Next.js는 성공에 안주하지 않았다. 여전히 한계를 초월하는 동력을 갖고 있다. 이와 동시에 스벨트키트(SvelteKit)와 넉스트(Nuxt) 등의 대안뿐 아니라 Blitz.js 등 새로운 출전자가 새로운 접근방식과 기법을 선보이고 있다.

다양한 새로운 프레임워크 중에서 유난이 눈에 띄는 것은 바로 레드우드(Redwood)다. 앱을 구성하는 방식에 대해 찬반이 강경하게 나뉜다. 레드우드의 공격적인 방식 덕분에 놀라울 만큼 바른 개발자 경험을 구성한다. 레드우드는 데이터 모델링 및 스카폴딩(Scaffolding) 등의 반복적인 요건에 대해 레일스(Rails) 같은 접근방식을 취하는 것 외에 보안과 추적 통합 등의 다른 실질적인 문제도 해결한다. 또한, 버셀(Vercel), 네틀리파이(Netlify) 등의 서버리스 플랫폼 등 다양한 배치 환경을 지원한다.
 

Next.js 

Next.js는 풀스택 자바스크립트 프레임워크의 개척자다. Node.js는 동일 구조 자바스크립트 애플리케이션에 문을 열었고 이를 기반으로 풀스택 자바스크립트를 실용적인 애플리케이션으로 발전시켰다. Next.js는 리액트 프론트엔드와 자바스크립트 서버를 단일 빌드 파이프라인으로 통합하는 단순한 약속에서 시작해 점점 더 확장하고 있다. 라우팅(Routing)부터 데이터 액세스, 보안, 서버측 렌더링까지 애플리케이션 개발의 많은 중요한 측면을 더 단순하고 일관성 있게 만들었다. 또한, Next.js는 서버리스와 엣지 등 다양한 배치 대상을 지원한다. 클라우드 인프라 기업 버셀(Vercel)은 이 지원을 활용해 백엔드와 프론트엔드를 연결할 때의 복잡성을 숨기는 자동화된 배치 솔루션을 개발했다.
 

ⓒ IDG 

와슴타임

Node.js가 자바스크립트 런타임(Runtime)에 제공하는 것과 유사하게 와슴타임(Wasmtime)은 개발자가 안전한 샌드박스 실행, 네이티브에 가까운 성능, 여러 프로그래밍 언어와 플랫폼에서의 지원 등 웹어셈블리(WebAssembly)가 브라우저 내부에서 제공하는 모든 이점을 브라우저 밖에서 활용할 수 있도록 지원한다. CPU와 메모리 사용량 세부 조절, 크레인리프트(Cranelift) 코드 생성기를 통한 고속 실행, 새로운 웹어셈블리 기능 파악하기 등의 장점도 있다.

이전의 와슴타임 릴리즈 역시 기업의 실제 업무 현장에서 사용할 만큼 완성도가 높았지만, 1.0 버전은 더 빠른 와슴 모듈 인스턴스화, 더 스마트한 메모리 사용, 최적화된 스택 추적과 협력적 멀티태스킹을 통한 런타임 성능 개선 등 더 발전했다. 와슴타임은 중요한 변곡점에 놓여 있다고 해도 과언이 아니다.
 

파이스크립트

웹어셈블리의 오랜 약속 중 하나는 웹 브라우저에서 자바스크립트 외의 다른 언어를 사용할 수 있다는 것이다. 이런 약속을 실현하는 기술이 바로 파이스크립트(PyScript)다. 브라우저에서 완전한 파이썬(Python) 런타임을 지원해 웹 페이지에서 파이썬을 스크립트 언어로 사용할 수 있다. 심지어 넘파이(NumPy) 등의 일부 고급 라이브러리까지 지원하고 네이티브 HTML 프론트엔드를 통해 강력하고 복잡한 앱을 구성할 수 있다. 물론 백엔드에서 파이썬 서버도 필요 없다. 파이스크립트는 현재 테스트 단계로 단계이며, 일반적으로 시동 시간이 다소 걸린다. 하지만 파이스크립트를 통해 웹어셈블리의 미래를 엿볼 수 있다.
 

ⓒ IDG 

하드햇

블록체인 개발은 까다로운 것으로 유명하지만, 새로운 툴의 등장으로 조금씩 개선되고 있다. 그 중 하나인 하드햇(Hardhat)은 훌륭한 오픈소스 프레임워크로, 코딩, 테스트, 이더리움에서의 댑스(Dapps) 및 스마트 컨트랙트 배치를 간소화한다. 확장 가능한 작업 실행자와 플러그인 프레임워크를 중심으로 개발돼 대부분 개발 워크플로를 처리할 만큼 충분히 유연하며, 로컬 이더리움 테스트넷(Testnet)과 통합된다. 원격 테스트넷과 상호작용 없이 코드를 배치하고 디버깅하는 데도 유용하다.

하드햇에는 솔리디티(Solidity)를 지원하는 비주얼 스튜디오용 기능이 포함돼 있으며, 이더리움 전용 테스트를 위한 차이(Chai) 확장기능을 제공한다. 이런 유용성 외에도 하드햇은 뛰어난 개발자 경험을 제공한다. 처음 실행해도 예상한 대로 작동하므로 더 만족스럽다. 
 

오픈FGA 

오픈FGA(OpenFGA)는 구글의 글로벌 인증 시스템 잔지바르(Zanzibar)에 기초한 범용 인증 플랫폼에 대한 오쓰0(Auth0)의 오픈소스 구현이다. 역할 기반부터 관계 기반과 세분화된 인증까지 광범위한 인증 요건을 해결하고, 놀랍도록 다양한 성능과 유연성을 지원하는 패키지를 제공한다. 오픈소스 소프트웨어 커뮤니티의 인증에 중요할 뿐 아니라 오픈소스에 좋은 것이 기업에 좋다는 근본적인 전제, 즉 언어로써 코드의 자유에 대한 재확인 의미로도 중요하다.
 

ⓒ IDG 

센트리

보안과 함께 오류 및 성능 추적은 많은 앱에 있어서 필수불가결한 요건이다. 이런 문제에 있어 다소 안심할 수 있게 해주는 툴이 바로 센트리(Sentry)다. 데이터를 수집하는 서버측 API부터 이를 관리하는 대시보드와 포괄적인 애플리케이션측 통합까지 애플리케이션, 서비스, API의 건전성을 모니터링하는 오픈소스 도구 전체를 제공한다. 이런 통합은 실제로 펄(Perl)부터 파이썬까지 예상할 수 있는 모든 스택에 적용된다. 그러면서도 사용하기가 매우 쉽다. 라이브러리를 가져오기만 하면 되며, 추가 코드로 비즈니스 로직을 구성할 필요가 없다. 또한 센트리는 프로젝트 추적기, 소스 관리 시스템, 배치 플랫폼 등 다양한 도구를 위한 통합 지점 역할도 한다.
 

앱스미스

앱스미스(Appsmith)는 백엔드 개발자가 최소한의 HTML과 CSS 코딩으로 관리자 패널, 서식, 대시보드 등의 소프트웨어를 사용자 정의할 수 있는 로우코드 프레임워크다. 이 플랫폼은 미리 구축된 UI 구성 요소와 재사용 가능 템플릿을 통해 프로젝트를 신속하게 시작하고 광범위한 API, 데이터 소스, 클라우드 서비스와 통합되며 클라우드 및 셀프 호스팅 배치 옵션을 지원한다. 앱스미스는 도커에서 1,000만회 이상 다운로드됐고, 깃허브에서 2만 1,000개 이상의 별을 받았다. 최근에는 4,100만 달러의 시리즈 B(Series B) 투자를 받기도 했다. 대표적인 활용 사례로는 고객 지원 도구와 의사소통 등의 내부 프로세스가 있다.

ⓒ IDG

 

스핀네이커

스핀네이커(Spinnaker)는 데브옵스팀이 릴리즈를 자동화하고 카나리(Canary) 및 기타 배치 전략을 구현하는 데 도움이 되는 오픈소스 멀티 클라우드 연속 제공 플랫폼이다. 에어비앤비, SAP, 핀터레스트, 머카리(Mercari), 세일즈포스 등 220곳 이상의 기업이 스핀네이커를 사용하고 있고, 커뮤니티 기여자는 2,500명이 넘는다. 소규모 엔지니어링 기업도 스핀네이커를 성공적으로 활용하고 있는데, 예를 들어, 업웨이브(Upwave)의 20명 규모 엔지니어링팀은 주당 100회의 배치를 관리하며, 변경사항 시 리드 타임은 20분 미만이다. 주요 클라우드 서비스 업체가 스핀네이커를 지원하며, 개발자를 위한 많은 문서를 제공한다. 스핀네이커는 2020년 바이든 대통령 선거 캠프 등에서도 활용된 바 있다.
 

하이퍼트레이스

하이퍼트레이스(Hypertrace)는 제멋대로 뻗어 나가는 클라우드 네이티브 아키텍처 전반에 걸쳐 다양한 서비스로부터 엄청난 양의 실시간 성능 데이터를 수집, 처리할 수 있는 오픈소스 분산형 추적 및 가관측성 엔진이다. 트레이서블(Traceable)이 아파치 카프카(Apache Kafk)를 기반으로 개발했다. 하이퍼트레이스는 애플리케이션과 마이크로서비스를 모니터링하고 여러 터치포인트의 분산형 트랜잭션을 추적하며 모든 정보를 서비스 지표와 애플리케이션 플로 지도로 만든 후 사용자 정의 대시보드에 표시한다. 

하이퍼트레이스는 경로 기반 분석을 지원하는 것 외에 결과에 영향이 미치기 전에 애플리케이션 성능 병목을 선제적으로 해결하는 데 도움이 되는 실시간 경고를 제공한다. 기본적으로 집킨(Zipkin), 예거(Jaeger) 등의 인기 추적 형식을 지원하며 자바, 고(Go), 파이썬을 위한 네이티브 기기 에이전트를 제공한다. 
 

ⓒ IDG

 

그래비티

그래비티(Gravitee) API 관리 플랫폼은 분산된 API를 중앙에서 관리, 관장, 보호한다. 오늘날의 이벤트 기반 API 및 마이크로서비스 세계에서는 비용과 복잡성을 관리하기 위해 더 필수적이다. 그래비티의 콕핏(Cockpit) 포털을 통해 가이드 액세스와 공개, 문서화, API 발견을 위한 기능이 풍부한 툴셋을 함께 제공하고, 온보드 API 디자이너는 개발 및 문서화 모델화를 위한 시각적 로우코드 접근방식을 지원한다. 작업 자동화는 오류를 최소화하고 디버깅 속도를 높여주며 배치를 간소화한다. 보안 액세스와 감사 기능 덕분에 인증 및 승인 서비스를 통해 종점을 보호할 수 있다. 기업 라이선스를 구매하면 추가적인 디자이너 및 생산 게이트웨이 기능을 쓸 수 있고, 경고 엔진, 이상 감지, 실시간 분석 등의 기능도 활용할 수 있다.
 

오픈텔레메트리

오늘날의 분산형 애플리케이션에서 가시성을 확보하기 위해서는 기존의 단순한 로그와 지표로는 부족하다. 따라서 개발자가 애플리케이션을 더 심층적인 수준에서 파악할 수 있도록 집킨과 예거 등 가관측성 도구와 허니콤(Honeycomb) 등의 유료 서비스가 등장했다. 물론, 이런 새로운 도구의 확산의 단점은 모두 작동 방식이 조금씩 다르다는 점이다. 

오픈텔레메트리(OpenTelemetry)는 일련의 표준 API와 도구를 통해 가관측성 시스템 사이의 공백을 메운다. 생성, 배출, 수집, 처리, 원격 측정 데이터 내보내기를 제공업체를 가리지 않고 통합한다. 한 업체의 가관측성 제품으로 시작한 후 다른 제품으로 변경하고 싶었던 경험이 있다면, 오픈텔레메트리가 정답이다. 몇 가지 사소한 구성 변경 만으로 이를 구현할 수 있다.
 

ⓒIDG


그라파나

그라파나(Grafana)의 개발자는 모든 것을 관리하는 하나의 오픈소스 대시보드를 만들기 위해 노력했다. 그 결과 완전한 상용 제품 혹은 부분 유료 옵션이 있는 오픈소스 중에서 그라파나와 유사한 제품은 거의 찾기 힘들다. 그라파나 8.0은 프로메테우스(Prometheus) 경고 시각화와 그라파나의 네이티브 경고를 병합하고, 프로메테우스 얼러트매니저(Prometheus Alertmanager) 처리로 이를 강화했다. 그라파나 9.0은 프로메테우스 PromQL과 로키(Loki) LogQL 쿼리 언어를 위한 쿼리 구축 도구를 추가하며, 단순한 설명 대신 썸네일을 통해 대시보드를 미리 확인할 수 있게 했다. 기업용 버전의 경우 역할 기반 액세스 관리까지 지원한다.
 

Dapr 

분산형 애플리케이션은 새로 서비스를 구축할 때마다 연결 보안, 가관측성 구성, 상태 처리, 메시징 처리 등 같은 리스크를 반복해야 한다. 이 모든 것을 몇 번이고 계속 수행해야 하며, 특히 서로 다른 서드파티 서비스를 사용하는 경우가 많기 때문에 코드에 좋지 못한 계층이 추가되고 필요하지 않은 외부 서비스가 연계되는 경우가 종종 있다.

이런 어려움과 중복을 해결하기 위한 CNCF(Cloud Native Computing Foundation)의 프로젝트가 바로 Dapr이다. 애플리케이션의 보조재처럼 사용해 마이크로서비스 연결성의 복잡성을 줄여준다. 앱은 Dapr과 통신하고 Dapr이 나머지를 처리하기 때문에, 예를 들어 AWS에서 운용하고 키네시스(Kinesis)를 사용하거나 구글 클라우드에서 운용하고 펍섭(PubSub)을 사용할 수 있다. 결과적으로 애플리케이션 로직에 더 많은 시간을 투자하고 모든 연결 코드에 소요되는 시간을 절약할 수 있다. 
 

ⓒ IDG

 

레드판다

레드판다(Redpanda)는 시스타(Seastar) 비동기 프레임워크와 래프트(Raft) 합의 알고리즘을 사용해 분산형 로그를 구현한다. C++로 작성된 카프카를 위한 플러그인 대체제이기도 하다. 최대 10배 낮은 평균 지연 속도와 최대 6배 빠른 카프카 트랜잭션을 제공하면서 더 적은 리소스를 사용할 수 있다. 레드판다는 주키퍼(ZooKeeper)나 JVM을 사용할 필요가 없으며 소스는 깃허브에서 BSL(Business Source License)로 제공된다. 

또한, 레드판다는 비동기 비공유 코어당 스레드 모델을 사용하며 얽매임이 없고 환경 전환이 최소화되며 TL(Thread-Local) 메모리 액세스를 지원한다. 레드판다는 카프카 프로토콜을 넘어 인라인 웹어셈블리 전환과 지리적 복제 계층화 스토리지/쉐도우(Shadow) 인덱싱까지 점점 더 발전하고 있다.
 

아파치 아이스버그

초대용량 분석 테이블을 위한 고성능 형식인 아파치 아이스버그(Apache Iceberg)는 빅데이터에 SQL 테이블의 신뢰성과 간결성을 제공하며, 트리노(Trino), 스파크(Spark), 소나(Sonar), 프레스토(Presto), 하이브(Hive), 플링크(Flink), 임팔라(Impala) 등의 엔진이 동시에 같은 테이블을 안전하게 작업할 수 있도록 지원한다. 아이스버그는 유연한 SQL 명령을 지원해 새로운 데이터를 병합하고 기존의 열을 업데이트하며 표적화 된 삭제를 수행한다. 읽기 성능을 높이기 위해 읽기 데이터 파일을 열심히 재작성하거나 더 빠른 업데이트를 위해 삭제 델타를 활용할 수 있다. 또한, 아이스버그는 기본적으로 스키마 혁신, 자동 파티셔닝, TTQ(Time Travel Query), 버전 롤백, 데이터 단축을 지원한다. 
 

ⓒ IDG

 

아파치 드루이드

아파치 드루이드(Apache Druid)는 고속 쿼리, 높은 동시 실행, 카프카, 키네시스 등의 플랫폼의 스트림 수집에 대한 실시간 및 이력 인사이트를 제공하는 실시간 분석 데이터베이스이다. 이 기술은 10년 치의 릴리즈, 400명 이상의 기여자, 데이터 웨어하우스, 시계열 데이터베이스, 검색 시스템의 아이디어를 결합한 분산형 데이터 스토어 아키텍처에 기반을 두고 있다. 넷플릭스, 세일즈포스, 월마트(Walmart) 등 수천 개 기업이 드루이드로 분석 애플리케이션을 지원하고 있다. 사용 사례에는 클릭스트림 분석, 위험 및 사기 분석, 공급망 분석이 포함된다. 초보자라면 아파치 드루이드 소개서와 성공 스토리 전자책을 먼저 살펴볼 것을 권한다.
 

JAX 

구글의 오픈소스 머신러닝 플랫폼 텐서플로우(TensorFlow)가 가장 혁신적인 점은 자동 차별화(오토그래드(Autograd))와 딥 러닝을 위한 XLA(Accelerated Linear Algebra) 최적화 컴파일러다. JAX 역시 구글이 개발한 프로젝트이며, 이 2가지 기술을 결합해 속도와 성능 측면에서 상당한 이점을 제공한다. GPU 또는 TPU에서 구동할 때 JAX는 넘파이를 호출하는 다른 프로그램을 대체할 수 있지만 프로그램은 훨씬 빠르게 구동한다(오토그래드 엔진은 네이티브 파이썬과 넘파이 코드를 자동으로 구분할 수 있다). 또한, 신경망에 JAX를 사용하면 텐서플로우 같은 대형 프레임워크를 확장하는 것보다 새로운 기능을 훨씬 쉽게 추가할 수 있다.
 

ⓒ IDG

 

nbdev 

주피터(Jupyter) 또는 구글 콜랩(Google Colab) 등의 환경을 사용하는 노트 프로그래밍의 잘 알려진 비밀은 역대 최악의 스파게티 코드를 만든다는 것이다. 데이터 사이언티스트가 셀마다 옮겨 다니면서 유지관리가 불가능할 정도의 혼란을 유발한다. 일각에서는 노트 프로그래밍이 과거의 고투(GOTO)만큼 유해할 수 있다고 지적하기도 한다.

nbdev는 이런 노트 프로그래밍의 단점을 줄이면서 장점을 극대화하는 대안이다. fast.ai의 깃 친화적 주피터 노트 기반 개발 플랫폼으로 데이터 사이언티스트에게 필요한 탐구 자유를 지원할 뿐만 아니라 같은 노트 안에서 문서화와 심지어 적절한 텍스트를 통해 모듈을 손쉽게 생성하는 기능을 지원한다. 넷플릭스와 리프트(Lyft), (당연히) fast.ai 등의 기업에서 사용하고 있는데 특히 넷플릭스는 nbdev를 사용해 새로운 버전의 fast.ai 라이브러리를 만들기도 했다.
 

액셀러레이트

코드 4줄만 추가해 모든 파이토치(PyTorch) 코드에 분산형 훈련 및 간섭을 대규모로 추가할 수 있다면 어떨까? 허깅페이스(Huggingface)의 액셀러레이트(Accelerate)는 기본적으로 단순한 구성 전환을 통해 TPU 장치나 마이크로소프트의 딥스피드(DeepSpeed) 최적화 등의 기능을 사용할 수 있다. 액셀러레이트 라이브러리가 모두 처리하는 분산형 훈련, 공유 병행성, 그래디언트(Gradient) 축적 등의 기법을 사용해 수십억 개의 파라미터 규모로 딥 러닝 모델을 훈련할 수 있다. 그동안 대형 모델의 훈련은 업계 대기업의 전유물이었는데, 액셀러레이트가 파이토치(Pytorch) 생태계의 일부로 자리잡으면서 다양성에 대한 기대가 커지고 있다.
 

ⓒ IDG

 

스테이블 디퓨전

스테이블 디퓨전(Stable Diffusion)은 엄청난 품질의 이미지를 만들어내는 텍스트-이미지 AI 모델이다. 2개월이 채 되지 않은 야생동물 같은 프로젝트지만, 전 세계의 열렬한 지지자가 이미 오리지널 버전을 개선해 이미지 생성 속도를 높이고 메모리가 적은 GPU에서 구동하도록 개선했다. 인페인팅(In-painting) 및 아웃페인팅(Out-painting) 지원이 추가됐고, 심지어 스테이블 디퓨전을 M1 기반 맥북에서 구동할 수도 있다.

Stability.ai는 이 모델을 훈련하기 위해 60만 달러를 투자했으며, 이를 즉시 오픈소스로 공개했다(오픈AI(OpenAI)의 DALL-E와는 딴판이다). 이런 모델은 분명 데이터세트 큐레이션(Curation), NSFW 이미지 생성 기능에 대한 우려로 이어지는 것이 사실이다. 그러나 앞으로의 연구 발전과 성과를 고려하면 일부 대기업보다는 모든 사람이 이 기술을 사용할 수 있도록 하는 것이 분명 더 낫다.
  

일루터AI

GPT-NeoX-20B는 일루터AI(EleutherAI)가 개발한 새로운 200억 개 파라미터 자연어 처리 모델이다. 해당 개발사는 이전에 60억 개 파라미터 모델인 GPT-J를 공개하기도 했다. 이 모델은 1,750억 개의 파라미터를 가진 오픈AI의 GPT-3와 비교해 작아 보일 수 있지만 LAMBADA, 위노그랜드(Winogrande), 헬라스웩(Hellaswag) 등 데이터 세트를 사용해 강력한 성능을 구현했다. GPT-J를 이용하면 문서를 완성하고 번역, 분류하는 등 더 발전된 NLP 작업을 수행할 수 있다.

일루터AI가 이런 강력한 모델을 오픈소스화할 수 있는 이유는 무엇일까? 해당 프로젝트의 설립자 중 한 명인 코너 리히는 “우리는 AI를 우리처럼 생각하지 않는 이상한 외계인이라고 생각해야 한다”라고 말했다. 일루터AI의 목표는 이 기술을 가능한 많은 연구원에게 제공해 통제하는 방법을 찾는 것이다.

Posted by jjblaid

블로그 이미지
jjblaid

태그목록

공지사항

Yesterday
Today
Total

달력

 « |  » 2025.5
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

최근에 올라온 글

최근에 달린 댓글

글 보관함