이 게시물은 VirtuSwap의 Dima Zadorozhny 및 Fuad Babaev와 공동으로 작성되었습니다.
VirtuSwap 블록체인 자산의 탈중앙화 교환을 위한 혁신적인 기술을 개발하는 스타트업 회사입니다. VirtuSwap의 기술은 직접적인 쌍이 없는 자산에 대해 보다 효율적인 거래를 제공합니다. 직접 쌍이 없으면 비용이 많이 드는 간접 거래가 발생합니다. 즉, 원하는 스왑을 완료하려면 두 개 이상의 거래가 필요하므로 거래 비용이 두 배 또는 세 배가 됩니다. VirtuSwap의 예비 기반 가상 풀 기술은 모든 거래를 직접 처리하여 문제를 해결하고 거래 비용을 최대 50% 절약합니다. 자세한 내용은 다음에서 확인하세요. virtuswap.io.
이 게시물에서는 VirtuSwap이 자체 컨테이너 가져오기 기능을 어떻게 사용했는지 공유합니다. 아마존 세이지 메이커 스튜디오 선형 최적화 문제를 해결하기 위해 GPU 집약적인 시뮬레이션을 호스팅할 수 있는 강력한 환경을 구축합니다.
난제
VirtuSwap Minerva 엔진은 거래량, 현재 시장 유동성, 거래 자산의 변동성과 같은 여러 매개변수를 고려하면서 다양한 유동성 풀 간의 최적의 유동성 분배에 대한 권장 사항을 생성하며 배포 가능한 총 유동성 양에 의해 제한됩니다. 이러한 권장 사항을 제공하기 위해 VirtuSwap Minerva는 수천 개의 과거 거래 쌍을 사용하여 다양한 유동성 구성을 통해 실행을 시뮬레이션하여 유동성, 풀 수수료 등의 최적 분포를 찾습니다.
초기 구현은 pandas 데이터 프레임을 사용하여 코딩되었습니다. 그러나 시뮬레이션 데이터가 증가함에 따라 문제의 크기와 함께 런타임도 거의 XNUMX배로 늘어났습니다. 그 결과 반복 속도가 느려지고 더 큰 차원의 작업을 실행하는 것이 거의 불가능해졌습니다. VirtuSwap은 더 빠른 결과를 얻으려면 시뮬레이션에 GPU 인스턴스를 사용해야 한다는 것을 깨달았습니다.
VirtuSwap은 시뮬레이션을 실행하기 위해 GPU 호환 팬더와 유사한 라이브러리가 필요했고 이를 선택했습니다. cuDF, GPU DataFrame 라이브러리 여울. cuDF는 데이터 로드, 결합, 집계, 필터링 및 기타 조작에 사용됩니다. 팬더-Pandas보다 훨씬 빠른 성능을 위해 CUDA를 사용하여 데이터 프레임 작업을 가속화하는 API와 유사합니다.
솔루션 개요
VirtuSwap은 노트북에서의 반복적인 대화형 개발을 시작으로 엔드투엔드 개발을 위해 SageMaker Studio를 선택했습니다. SageMaker Studio의 유연성으로 인해 그들은 시뮬레이션에도 이를 사용하기로 결정했습니다. 아마존 세이지 메이커 사용자 정의 이미지이를 통해 VirtuSwap은 cuDF와 같은 필요한 자체 사용자 정의 라이브러리 및 소프트웨어를 가져올 수 있습니다. 다음 다이어그램은 솔루션 워크플로를 보여줍니다.
다음 섹션에서는 SageMaker에서 Rapids cuDF 이미지를 구축하고 사용하는 단계별 지침을 공유합니다.
사전 조건
이 단계별 가이드를 실행하려면 SageMaker에 대한 권한이 있는 AWS 계정이 필요합니다. Amazon Elastic Container Registry (아마존 ECR), AWS 자격 증명 및 액세스 관리 (IAM) 및 AWS 코드빌드. 또한, 당신은 SageMaker 도메인 준비.
IAM 역할 및 정책 생성
SageMaker 사용자 정의 노트북의 빌드 프로세스를 위해 우리는 다음을 사용했습니다. AWS 클라우드쉘, 이는 사용자 정의 이미지를 빌드하는 데 필요한 모든 패키지를 제공합니다. CloudShell에서는 다음을 사용했습니다. SageMaker 도커 빌드, SageMaker Studio용 Docker 이미지를 빌드하기 위한 CLI입니다. CLI는 Amazon ECR에 리포지토리를 생성하고 CodeBuild를 사용하여 컨테이너를 구축할 수 있습니다. 이를 위해서는 도구에 적절한 권한이 있는 IAM 역할을 제공해야 합니다. 다음 단계를 완료하세요.
- AWS Management Console에 로그인하고 IAM 콘솔.
- 왼쪽 탐색 창에서 다음을 선택합니다. 정책.
- 이름이 지정된 정책을 생성합니다.
sm-build-policy
다음 권한으로:
권한은 리포지토리 생성, CodeBuild 작업 생성, 유틸리티 사용 등 유틸리티를 완전히 활용할 수 있는 기능을 제공합니다. 아마존 단순 스토리지 서비스 (Amazon S3)로 로그를 보냅니다. 아마존 클라우드 워치.
- 이름이 지정된 역할을 생성합니다.
sm-build-role
다음 신뢰 정책을 사용하여 정책을 추가하십시오.sm-build-policy
이전에 만든 것:
이제 CloudShell의 단계를 검토해 보겠습니다.
CloudShell에서 cuDF Docker 이미지 생성
우리의 목적을 위해서는 Rapids CUDA 이미지가 필요했습니다. 여기에는 아이피커널, 이미지를 다음에서 사용할 수 있도록 SageMaker Studio 노트북.
기존 CUDA 이미지를 다음과 같이 사용합니다. 래피즈AI 공식에서 확인 가능한 Rapids AI Docker 허브을 추가하고 ipykernel
설치.
CloudShell 터미널에서 다음 명령을 실행합니다.
그러면 SageMaker용 사용자 지정 Docker 이미지를 구축할 Dockerfile이 생성됩니다.
이미지를 빌드하고 저장소에 푸시
언급했듯이 우리는 SageMaker Docker 빌드 라이브러리를 사용하면 데이터 과학자와 개발자가 맞춤형 컨테이너 이미지를 쉽게 구축할 수 있습니다. 자세한 내용은 다음을 참조하세요. Amazon SageMaker Studio 이미지 빌드 CLI를 사용하여 Studio 노트북에서 컨테이너 이미지 빌드.
다음 명령은 ECR 저장소를 생성합니다(저장소가 없는 경우). sm-docker는 이를 생성하고 새 Docker 이미지를 빌드하여 생성된 저장소에 푸시합니다.
누락된 경우 sm-docker
CloudShell에서 다음 코드를 실행합니다.
완료되면 ECR 이미지 URI가 반환됩니다.
SageMaker 사용자 정의 이미지 생성
사용자 지정 Docker 이미지를 생성하여 컨테이너 리포지토리(Amazon ECR)에 푸시한 후 해당 사용자 지정 Docker 이미지를 사용하도록 SageMaker를 구성할 수 있습니다. 다음 단계를 완료하세요.
- SageMaker 콘솔에서 이미지 탐색 창에서
- 왼쪽 메뉴에서 이미지 만들기.
- 이전 섹션의 이미지 URI 출력을 입력한 후 다음을 선택합니다. 다음 보기.
- 럭셔리 이미지 이름 및 이미지 표시 이름, 입력
rapids
. - 럭셔리 상품 설명, 설명을 입력하십시오.
- 럭셔리 IAM 역할에서 SageMaker 도메인에 적합한 IAM 역할을 선택하십시오.
- 럭셔리 EFS 마운트 경로, 입력
/home/sagemaker-user
(기본). - 펼치기 고급 구성.
- 럭셔리 사용자 ID, 입력
1000
. - 럭셔리 그룹 ID, 입력
100
.
- . 이미지 타입 섹션에서 선택 SageMaker Studio 이미지.
- 왼쪽 메뉴에서 커널 추가.
- 럭셔리 커널 이름, 입력
conda-env-rapids-py
. - 럭셔리 커널 표시 이름, 입력
rapids
. - 왼쪽 메뉴에서 문의하기 SageMaker 이미지를 생성합니다.
SageMaker Studio 도메인에 새 이미지를 연결합니다.
이제 사용자 정의 이미지를 생성했으므로 이미지를 도메인에 연결하여 사용할 수 있도록 해야 합니다. 다음 단계를 완료하세요.
- SageMaker 콘솔에서 도메인 탐색 창에서
- 도메인을 선택하세요. 이 단계는 선택 사항입니다. 도메인에서 직접 사용자 정의 이미지를 생성하고 첨부하고 이 단계를 건너뛸 수 있습니다.
- 도메인 세부정보 페이지에서 다음을 선택합니다. 환경 탭을 선택한 다음 이미지 첨부.
- 선택 기존 이미지 새 이미지(
rapids
) 목록에서. - 왼쪽 메뉴에서 다음 보기.
- 사용자 정의 이미지 구성을 검토하고 다음을 설정했는지 확인하세요. 이미지 타입 as SageMaker Studio 이미지, 이전 단계와 마찬가지로 동일한 커널 이름과 커널 표시 이름을 사용합니다.
- 왼쪽 메뉴에서 문의하기.
이제 SageMaker Studio에서 사용자 정의 이미지를 사용할 수 있으며 사용할 준비가 되었습니다.
이미지로 새 노트북 만들기
새 노트북을 시작하는 방법에 대한 지침은 다음을 참조하세요. Amazon SageMaker Studio에서 사용자 지정 SageMaker 이미지 실행. 다음 단계를 완료하십시오.
- SageMaker Studio 콘솔에서 다음을 선택합니다. 런처 열기.
- 왼쪽 메뉴에서 환경 변경.
- 럭셔리 영상, 새로 생성된 이미지를 선택하고
rapids v1
. - 럭셔리 핵심선택한다.
rapids
. - 럭셔리 인스턴스 유형¸ 인스턴스를 선택하십시오.
SageMaker Studio는 AWS 가속 컴퓨팅, 범용 컴퓨팅, 컴퓨팅 최적화 또는 메모리 최적화 제품군에서 인스턴스를 선택하여 컴퓨팅 성능을 사용자 정의할 수 있는 옵션을 제공합니다. 이러한 유연성을 통해 CPU와 GPU 간에 원활하게 전환할 수 있을 뿐만 아니라 필요에 따라 인스턴스 크기를 동적으로 확장하거나 축소할 수 있습니다. 노트북의 경우 ml.g4dn.2xlarge 인스턴스 유형을 사용하여 GPU 가속기를 활용하면서 cuDF 성능을 테스트했습니다.
- 왼쪽 메뉴에서 선택.
- 환경을 선택하고 노트 만들기, 노트북 커널이 준비될 때까지 기다립니다.
사용자 정의 이미지 검증
사용자 정의 이미지가 시작되었고 cuDF를 사용할 준비가 되었는지 확인하려면 새 셀을 생성하고 다음을 입력합니다. import cudf
, 실행합니다.
정리
다음을 선택하여 SageMaker Studio에서 테스트 노트북을 실행하는 Jupyter 인스턴스의 전원을 끕니다. 터미널 및 커널 실행 실행 중인 인스턴스의 전원을 끕니다.
런타임 비교 결과
SageMaker g4dn.2xlarge 인스턴스에서 CPU와 GPU를 모두 사용하여 시간 복잡도가 O(N)인 코드의 런타임 비교를 수행했습니다. 다음 그림과 같은 결과는 CPU보다 GPU를 사용하는 효율성을 보여줍니다.
GPU의 주요 장점은 병렬 처리를 수행하는 능력에 있습니다. N의 값을 증가시키면 CPU의 런타임은 3N의 비율로 증가합니다. 반면, GPU의 경우 앞의 그림과 같이 증가율은 2N으로 설명할 수 있습니다. 문제 크기가 클수록 GPU의 효율성은 높아집니다. 우리의 경우 GPU를 사용하는 것이 CPU를 사용하는 것보다 최소 20배 더 빨랐습니다. 이는 현대 컴퓨팅, 특히 대량의 데이터를 빠르게 처리해야 하는 작업에서 GPU의 중요성이 커지고 있음을 강조합니다.
SageMaker GPU 인스턴스를 사용하면 VirtuSwap은 해결된 문제의 차원을 극적으로 늘리고 솔루션을 더 빠르게 찾을 수 있습니다.
결론
이 게시물에서는 VirtuSwap이 사용자 지정 이미지를 사용하여 복잡한 문제를 해결함으로써 SageMaker Studio를 사용자 지정하는 방법을 보여주었습니다. 실행 환경을 쉽게 변경하고 다양한 인스턴스, 크기 및 커널 간에 전환할 수 있는 기능을 통해 VirtuSwap은 빠르게 실험하고 런타임 속도를 15배 높이고 확장 가능한 솔루션을 제공할 수 있었습니다.
다음 단계로 VirtuSwap은 SageMaker의 사용 범위를 확대하고 다음 단계에서 처리를 실행하는 것을 고려하고 있습니다. Amazon SageMaker 처리 다양한 블록체인에서 수집하는 대규모 데이터를 플랫폼으로 처리합니다.
저자에 관하여
아디르 샤라비 Amazon Web Services의 수석 솔루션 설계자입니다. 그는 AWS 고객과 협력하여 고객이 클라우드에서 안전하고 탄력적이며 확장 가능한 고성능 애플리케이션을 설계하도록 돕습니다. 그는 또한 데이터에 대한 열정을 갖고 고객이 데이터를 최대한 활용할 수 있도록 지원합니다.
오메르 하임 Amazon Web Services의 수석 스타트업 솔루션 설계자입니다. 그는 스타트업의 클라우드 여정을 돕고 컨테이너와 ML에 열정을 쏟고 있습니다. 여가 시간에는 Omer는 여행을 좋아하고 가끔 아들과 게임을 즐기기도 합니다.
드미트리 자도로즈니 의 데이터 분석가입니다 virtuswap.io. 그는 데이터 마이닝, 처리, 저장은 물론 AWS와 같은 클라우드 서비스 통합을 담당하고 있습니다. virtuswap에 합류하기 전에 그는 데이터 과학 분야에서 일했으며 dydx 재단의 분석 대사 리드였습니다. Dima는 컴퓨터 공학 석사 학위를 보유하고 있습니다. Dima는 여가 시간에 컴퓨터 게임을 즐깁니다.
푸아드 바바예프 Virtuswap(virtuswap.io). 그는 복잡한 최적화 과제를 해결하고, 시뮬레이션을 제작하고, 무역 프로세스를 위한 모델을 설계하는 데 전문 지식을 제공합니다. 그의 전문 경력 외에도 Fuad는 체스 플레이에 열정을 가지고 있습니다.
- SEO 기반 콘텐츠 및 PR 배포. 오늘 증폭하십시오.
- PlatoData.Network 수직 생성 Ai. 자신에게 권한을 부여하십시오. 여기에서 액세스하십시오.
- PlatoAiStream. 웹3 인텔리전스. 지식 증폭. 여기에서 액세스하십시오.
- 플라톤ESG. 탄소, 클린테크, 에너지, 환경, 태양광, 폐기물 관리. 여기에서 액세스하십시오.
- PlatoHealth. 생명 공학 및 임상 시험 인텔리전스. 여기에서 액세스하십시오.
- 출처: https://aws.amazon.com/blogs/machine-learning/how-virtuswap-accelerates-their-pandas-based-trading-simulations-with-an-amazon-sagemaker-studio-custom-container-and-aws-gpu-instances/
- :있다
- :이다
- $UP
- 100
- 11
- 20
- 7
- 804
- 9
- 91
- a
- 능력
- 할 수 있는
- 소개
- 가속 된
- 가속하다
- 가속 자
- ACCESS
- 계정
- 동작
- 더하다
- 또한
- 이점
- 집합
- AI
- All
- 수
- 수
- 수
- 거의
- 따라
- 또한
- 아마존
- 아마존 세이지 메이커
- 아마존 세이지 메이커 스튜디오
- Amazon Web Services
- 대사
- 양
- 금액
- an
- 분석자
- 분석
- 및
- API를
- 어플리케이션
- 있군요
- AS
- 자산
- At
- 붙이다
- 가능
- AWS
- AWS 관리 콘솔
- BE
- 된다
- 사이에
- blockchains
- 두
- 가져
- 돋보이게
- 빌드
- 건물
- by
- CAN
- 채용
- 케이스
- 과제
- 이전 단계로 돌아가기
- 체스
- 왼쪽 메뉴에서
- 선택
- 선택
- 클라우드
- 클라우드 서비스
- 암호
- 코드화 된
- 협동
- 수집
- COM
- 회사
- 비교
- 완전한
- 완성
- 복잡한
- 복잡성
- 계산
- 컴퓨터
- 컴퓨터 과학
- 컴퓨팅
- 컴퓨팅 파워
- 조건
- 실시
- 구성
- 치고는
- 콘솔에서
- 컨테이너
- 용기
- 값 비싼
- 비용
- 만들
- 만든
- 생성
- Current
- 관습
- 고객
- 사용자 정의
- 사용자 정의
- 데이터
- 데이터 마이닝
- 데이터 과학
- 분산 된
- 분산 된 Exchange
- 결정된
- 태만
- 배달하다
- 기술 된
- 설명
- 원하는
- 세부설명
- 개발자
- 개발
- 개발
- 다른
- 곧장
- 직접
- 디스플레이
- 분포
- 도커
- 하지 않습니다
- 도메인
- 말라
- 더블
- 아래 (down)
- 극적으로
- 두
- 디디
- 역동적 인
- 이전
- 용이하게
- 효과
- 효율성
- 효율적인
- 끝으로 종료
- 엔진
- 엔터 버튼
- 환경
- 특히
- 모든
- 교환
- 있다
- 현존하는
- 실험
- 전문적 지식
- 가족
- FAST
- 빠른
- 특색
- 지우면 좋을거같음 . SM
- 들
- 그림
- 필터링
- Find
- 유연성
- 수행원
- 럭셔리
- Foundation
- 에
- 가득 찬
- 경기
- Games
- 일반
- 얻을
- GPU
- GPU
- 성장
- 성장하는
- 안내
- 손
- 있다
- he
- 도움
- 도움이
- 도움이
- 높은
- 하이라이트
- 그의
- 역사적인
- 주인
- 방법
- 그러나
- HTML
- HTTP
- HTTPS
- 통합 인증
- if
- 설명하다
- 영상
- 형상
- 이행
- 중요성
- 불가능한
- in
- 포함
- 증가
- 증가
- 정보
- 처음에는
- 혁신적인
- 혁신적인 기술
- 설치
- 설치
- 예
- 명령
- 통합
- 대화형
- 으로
- IT
- 반복
- 일
- 가입
- 여행
- 넓은
- 큰
- 시작
- 시작
- 리드
- 지도
- 오퍼
- 가장 작은
- 왼쪽 (left)
- 도서관
- 도서관
- 거짓
- 좋아하는
- 유동성
- 유동성 수영장
- 명부
- 로드
- 본관
- 확인
- 유튜브 영상을 만드는 것은
- 구축
- 조작하는
- 시장
- 거대한
- 의미
- 메모리
- 말하는
- 채굴
- ML
- 모델
- 현대
- 배우기
- 보다 효율적으로
- 가장
- 산
- 여러
- name
- 이름
- 카테고리
- 거의
- 필요
- 필요
- 신제품
- 새로운
- 다음 것
- 수첩
- 지금
- of
- 오프
- 공무원
- on
- 열 수
- 최적의
- 최적화
- 최적화
- 선택권
- or
- 기타
- 그렇지 않으면
- 우리의
- 아웃
- 출력
- 외부
- 위에
- 자신의
- 패키지
- 페이지
- 쌍
- 쌍
- 팬더
- 빵
- 평행
- 매개 변수
- 열정
- 열렬한
- 수행
- 성능
- 권한
- 플랫폼
- 플라톤
- 플라톤 데이터 인텔리전스
- 플라토데이터
- 연주
- 정책
- 풀
- 수영장
- 게시하다
- 힘
- 전원
- 너무 이른
- 교장
- 이전에
- 문제
- 문제
- 방법
- 처리됨
- 프로세스
- 처리
- 링크를
- 적절한
- 제공
- 제공
- 목적
- 목적
- 푸시
- 밀
- Python
- 네 배의
- 빨리
- 율
- 읽기
- 준비
- 깨달은
- 추천
- 참조
- 저장소
- 필요
- 필수
- 탄력
- 의지
- 책임
- 결과
- 결과
- 공개
- 리뷰
- 강력한
- 직위별
- 역할
- 달리기
- 달리는
- 현자
- 같은
- 절약
- SC
- 확장성
- 규모
- 과학
- 과학자
- 완벽하게
- 섹션
- 섹션
- 안전해야합니다.
- 보내다
- 연장자
- 봉사하다
- 서비스
- 서비스
- 세트
- 공유
- 보여
- 표시
- 크게
- 단순, 간단, 편리
- 시뮬레이션
- 크기
- 크기
- So
- 소프트웨어
- 해결책
- 솔루션
- 풀다
- 해결
- 그것의
- 전문가
- 속도
- 시작 중
- 시작
- 신생
- 성명서
- 단계
- 단계
- 저장
- 스튜디오
- 이러한
- 확인
- 교환
- 스위치
- 태클
- 복용
- 작업
- Technology
- 단말기
- test
- 보다
- 그
- XNUMXD덴탈의
- 그들의
- 그들
- 그때
- Bowman의
- 그들
- 이
- 수천
- 을 통하여
- 시간
- 시대
- 에
- 수단
- 금액
- 교환
- 거래
- 거래
- 트레이딩
- 거래 쌍
- 거래량
- 전이
- 여행
- 삼루타
- 믿어
- 두
- 유형
- 까지
- 용법
- 사용
- 익숙한
- 사용자
- 사용
- 사용
- 유틸리티
- 활용
- 활용
- v1
- 유효 기간
- 가치
- 여러
- 버전
- 온라인
- 볼륨
- 기다리다
- 였다
- we
- 웹
- 웹 서비스
- 잘
- 어느
- 동안
- 의지
- 과
- 작업
- 일
- 워크플로우
- 일
- 쓴
- 자신의
- 너의
- 제퍼 넷