Gradio 3.0 릴리스 노트

Hugging Face는 Gradio 3.0을 출시했습니다. 이 라이브러리는 처음부터 재설계된 것으로, Gradio Blocks라는 새로운 저수준 API와 현대화된 프런트엔드를 도입하여 보다 복잡하고 성능이 뛰어난 머신러닝 데모를 만들 수 있게 합니다.

Gradio Blocks: 맞춤형 웹 앱을 위한 저수준 API

Gradio Blocks는 새로운 저수준 언어로, 개발자가 Python만으로 복잡한 맞춤형 웹 애플리케이션을 완전히 구축할 수 있게 하며, 이전 버전보다 레이아웃과 데이터 흐름에 대한 더 큰 제어권을 제공합니다.

Blocks는 표준 Gradio 데모의 특정 제한점을 다음과 같이 해결합니다:

  • Custom Layouts: 개발자는 고정된 입력-왼쪽, 출력-오른쪽 구조를 넘어설 수 있습니다.
  • Flexible Data Flows: 하나의 모델 출력이 다른 모델 입력으로 사용되는 다단계 인터페이스를 지원합니다.
  • Dynamic Component Properties: 컴포넌트의 가시성이나 속성(예: Dropdown의 선택 항목)을 사용자 입력에 따라 변경할 수 있습니다.

프런트엔드 재설계 및 성능 향상

Gradio 3.0은 속도, 시각적 통합 및 사용자 경험을 개선하기 위해 완전한 프런트엔드 개편을 특징으로 합니다.

기술 스택 및 성능

프런트엔드는 최신 기술, 특히 Svelte로 마이그레이션되어 페이로드가 작아지고 페이지 로드 시간이 빨라졌습니다.

UI/UX 개선

  • Visual Design: 보다 깔끔한 디자인이 구현되어 데모가 다양한 환경에 자연스럽게 어울리도록 했습니다. 예를 들어 블로그 게시물에 iframe으로 삽입하는 경우도 포함됩니다.
  • Component Updates: 기존 컴포넌트가 사용성을 높이기 위해 재설계되었습니다; 예를 들어 Dataframe 컴포넌트는 이제 CSV 파일을 끌어다 놓아 업로드할 수 있습니다.
  • New Components: Gallery 컴포넌트와 같은 새로운 요소가 추가되어 모델 상호작용을 위한 UI 옵션이 확대되었습니다.
  • TabbedInterface: 새로운 TabbedInterface 클래스를 통해 개발자는 관련 데모를 하나의 웹 애플리케이션 내에서 여러 탭으로 그룹화할 수 있습니다.

Gradio Blocks 파티

새로운 Blocks API의 채택을 장려하기 위해 Hugging Face는 2022년 5월 말까지 진행되는 "Gradio Blocks Party"라는 대회를 조직했습니다. 이 이니셔티브는 Blocks로 만든 고품질 데모 제작을 장려함으로써 최첨단 머신러닝을 비엔지니어에게도 더 접근 가능하게 만드는 것을 목표로 합니다.

Sources