빠른 Pipcook 1.2, JavaScript의 머신 러닝

6160 단어
두 달 후Pipcook에 두 번째 안정적인 버전(v1.2)이 발표되었다.이 버전의 개선과 강화를 살펴봅시다.

기능이 일목요연하다
지난 두 달 동안 개발팀은 서비스 시작, 플러그인 설치와 파이프 실행 시간에 대해 맞춤형 최적화를 실시했다. 특히 내부 사용자가 파이프를 가장 많이 실행하여 교육을 시작했다.훈련 모형을 시작하는 데 5분 이상이 걸리고, 현재 최적화된 파이프는 10초만에 가동할 수 있다.
더욱 빠른 훈련 모형
v1에서0 버전, 모든 파이프는 데이터 집합을 수집하는 데 사용되는 DataCollect, 모델을 정의하는 모델 Define, 데이터 집합을 처리하는 DatasetProcess 등 다양한 단계로 나뉜다.이전 안정적인 버전에서 간단한 구성 요소 (그림) 분류 작업을 훈련하는 데 2분 가까이 걸린다. (시간은 데이터 집합의 크기에 따라 선형적으로 증가한다.)
두 가지 이유가 있습니다.
  • v1의 정의에서.0 파이핑은 이전 단계에서 데이터 처리가 완료되기 전에는 다음 단계로 넘어가지 않지만, 예를 들어, 데이터 수집 및 처리 과정에서 입출력 대기 시간과 CPU 유휴 시간이 많이 발생합니다.
  • v1의 정의에서.0 파이프, 데이터 유형 플러그인(DataCollect, DataAccess, DataProcess)은 이전에 파일 경로를 통해 전달되었다. 이로 인해 파이프 프로세스에서 대량의 디스크 읽기와 쓰기 작업을 반복할 뿐만 아니라 표준화(normalization)와 같은 디지털 계산을 시작할 수 없게 되었다.
  • 따라서 PR#410에 비동기 파이프 메커니즘을 도입하고 Sample을 플러그인 간의 데이터 전송 단위로 사용했다.이렇게 하면 다음과 같은 이점이 있습니다.
  • 이전 플러그인은 첫 번째 샘플을 생성한 후 후속 플러그인을 불러올 수 있습니다.이는 후속 플러그인이 모든 데이터가 처리되기를 기다려야 하는 문제를 해결해 훈련 시작 시간을 크게 단축시켰다.
  • 불필요한 읽기 및 쓰기 작업을 줄입니다.샘플은 플러그인 사이에서 메모리로 전송되고 처리된 값은 메모리에 저장되어 플러그인 이후에 사용할 수 있습니다.
  • 비동기 파이프의 도움으로 우리는 파이프 입력 시간을 1분 15초에서 11초로 줄이고 전체 훈련 시간을 단축하는 데 성공했다.
    플러그인 설치 속도 향상
    새 버전에서는 플러그인 설치 프로세스를 최적화했습니다.현재 Pipcook의 대부분의 파이프는 여전히 Python 생태에 의존하고 있다.따라서 이 플러그인을 설치할 때 파이톤과 노드의 의존 관계는 무시됩니다.js가 동시에 설치됩니다.v1.2 이전 버전에서는 Pipcook이 직렬로 설치되었기 때문에 PR#477에서 Python과 Node를 병렬로 설치했습니다.전체 설치 시간을 줄이기 위해 js 패키지입니다.
    후속 버전에서 우리는 병행화가 가져온 최적화를 계속 탐색하고 모든 설치 작업(Python과 Node.js 패키지)을 분석하여 설치 작업을 배정하여 더욱 합리적인 병행 설치를 실현할 것이다.
    빠른 초기 시작
    Pipcook 1.2부터 Pipboard를 로컬에 설치할 필요가 없습니다.Vercel을 통해 Pipboard를 온라인 서비스로 배포하고 모든 코드를 imgcook/pipboard로 마이그레이션했습니다.
    사용자는 https://pipboard.vercel.app/,를 통해 Pipboard 기능을 사용할 수 있지만 원격 Pipcook 데몬을 지원하지 않는 등 일부 부분을 조정해야 합니다.
    Pipboard의 후속 발표 주기는 Pipcook과 독립될 것입니다. 즉, Pipcook SDK를 바탕으로 자신의 Pipboard를 개발하도록 권장합니다. Pipboard 자체는 기본적으로 제공되는 프레젠테이션이나 예시 응용 프로그램으로 제공될 것입니다.
    Google Colab 지원
    Pipcook 사용자를 계속 지켜보고 있다면, 공식 문서의 일부 강좌의 시작에 Google Colab에 대한 링크가 추가되었다는 것을 이미 알고 있었을 것입니다.예, Pipcook은 Google Colab에서 실행할 수 있습니다. GPU가 없는 초보자는 Google Colab의 무료 GPU/TPU를 통해 Pipcook을 배울 수 있습니다. 다음 두 링크에서 시작하여 프런트엔드 구성 요소 식별 여행을 시작할 수 있습니다.
  • Classify images of UI components
  • Detect the UI components from a design draft
  • 알고리즘 엔지니어를 위한 플러그인 Python이 실행될 때
    알고리즘 엔지니어가 낮은 한도값으로 Pipcook 공헌 모델을 편리하게 하기 위해 순수한 Python이 실행될 때 지원을 추가했습니다.공헌자에 대해서는 추가 가방을 정의하는 것 외에json, 자바스크립트 코드를 작성하지 않아도 됩니다.플러그인(모델 클래스)의 개발은 알고리즘 엔지니어가 쉽게 입문할 수 있도록 파이썬을 기반으로 한 플러그인이 실행될 때 NLP(NER) 파이프를 개발했습니다.관련 플러그 인은 다음과 같습니다.
  • https://github.com/imgcook/pipcook-plugin-tensorflow-bert-ner-model
  • https://github.com/imgcook/pipcook-plugin-tensorflow-bert-ner-model-train
  • https://github.com/imgcook/pipcook-plugin-tensorflow-bert-ner-model-evaluate
  • Pipcook SDK 출시
    앞서 설명한 대로 Pipboard를 Pipcook에서 분리하여 독립적으로 게시했습니다.우리는 개발자가 Pipcook SDK를 통해 Pipboard나 그 어떠한 형태의 그들이 필요로 하는 응용 프로그램도 개발할 수 있기를 희망한다.따라서 Pipcook SDK는 v1에서 공식 출시됩니다.2. 지정된 Pipcook 서비스를 노드에서 사용할 수 있습니다.js 및 JavaScript 런타임 환경을 사용하여 파이핑 관리 및 교육 작업을 완료할 수 있습니다.
    const client = new PipcookClient('your pipcook daemon host', port);
    const pipelines = await client.pipeline.list(); // list all pipelines
    
    Pipcook SDK API 설명서: Click here.
    일일(베타) 및 릴리스
    사용자가 Pipcook을 선택적으로 사용할 수 있도록 지난 두 달 동안 릴리즈 사이클을 업데이트했습니다.구체적인 규정은 다음과 같다.
  • 테스트 버전 또는 일일 버전은 CI(GitHub Actions) 시스템에서 매일 자동으로 생성 및 릴리즈됩니다.최신 버전을 시도하고 싶다면, 사용자는 pipcook init beta나 pipcook init-beta를 사용해서 얻을 수 있습니다.
  • 릴리즈
  • 기본 버전(예를 들어 1.1, 1.3 등)은 불안정한 버전으로 주로 비교적 큰 실험 특성을 포함한다
  • 짝수 버전(예를 들어 1.0, 1.2 등)은 안정적인 버전으로 안정성, 성능 등에 주로 사용된다. 더 많은 수리와 최적화
  • 모든 릴리즈는 Semver2를 따릅니다.0 사양

  • 다음 버전 계획(v1.4)
    계획에 따라 Pipcook v1을 발표합니다.두 달에 네 번.개발진은 여전히 어떻게 Pipcook을'더 빨리'할 수 있는지에 주목할 것이다.
    예를 들어, 모델을 훈련한 후 노드에서 사용할 경우js 환경에서, NPM 설치를 실행하려면 아주 긴 절차가 필요합니다. (Python과 관련 의존항을 설치할 것입니다.) 교육을 받은 모델이 직접 사용할 수 있기를 바랍니다. 번거로운 초기 절차가 필요 없습니다.
    모델에 있어서 우리는 더욱 가벼운 목표 탐지 모델(YOLO/SSD)을 지원할 것이다. 이것은 간단한 장면에서 목표 탐지 임무를 쉽게 수행할 수 있다.

    한층 더 읽다
  • Pipcook 1.2 roadmap(closed)
  • Pipcook 1.3 roadmap

  • imgcook/awesome-imgcook Pipcook 브로셔, 플러그인 목록 및 프런트엔드 인텔리전스 자습서 포함
  • 커뮤니티
  • 불협화음 초대 링크: https://discord.gg/UbfXzGY
  • 좋은 웹페이지 즐겨찾기