Previous year i.e., 2023 has clearly been a standout year in terms of advancements in field of AI domain. Traditionally it’s always been felt that to get the most out of AI one need a strong investment in infrastructure and support. It’s never been as clear
as last year due to the virtue of advent of Generative AI. Most of the traditional AI technology prior to Gen AI performed reasonably well on a handful of GPUs and RAM. All this changed after the release of GPT-3 by Open AI and the further release of large
number of opensource models. These Large Language Models were large in every sense, they needed massive computation resources in form of high-performance GPUs and large memory in terms of RAM. Financial services sector in particular is recognized as the top
beneficiary of this technology. The number of resources utilized in this sector in analyses and processing of data particularly textual data can be optimized to a large extent using LLMs. Infact it is the opensource LLMs that has found its most utility in
this sector. There are multiple reasons for this
(a) 데이터 및 보안의 중요성: Quite a lot of data in financial sector are sensitive. They are to be secured and refrained from public access. The potential leak of these data can cause serious issues for the business. It makes the case
for opensource or internal solutions instead of proprietary ones particularly for critical and sensitive usecases.
(b) LLM의 맞춤화: 이 분야의 대부분의 사용 사례에서는 올바른 응답을 제공하기 위해 회사마다 매우 구체적인 데이터 세트를 사용하여 LLM 모델을 사용자 정의해야 합니다.
It’s is quite evident that the applicability of opensource LLM in financial sector is increasing but at same time there are many challenges in basic implementation of LLM solution. The sheer number of resources required in terms of both computation capability
and memory is costly as well as difficult to support. Take the case of a recent milestone of Big Science project’s unveiling of BLOOM, a model with 176 billion parameters capable of supporting 46 natural languages and 13 programming languages. While the public
accessibility of these 100B+ parameter models has facilitated their use, the associated challenges of high memory and computational costs persist. Notably, models like OPT-175B and BLOOM-176B demand over 350 GB of accelerator memory for inference, and even
more for fine-tuning. Consequently, the practical utilization of such LLMs often necessitates multiple high-end GPUs or multi-node clusters, which, due to their high costs, limits accessibility for many researchers and practitioners.
이것은 그들이 말하는 것처럼 완전히 다른 전망을 함께 테스트하는 경우를 만듭니다.
틀에서 벗어나 생각하기.
클라이언트 – 서버 접근 방식
This makes the case for distributed computing setup for the LLMs as one of possible solutions. It also makes sense since we are already using normal distributed computing systems like cloud and edge computing. This facilitates collaboration among multiple
users for the purpose of inference and fine-tuning of large language models over the Internet. Participants in distributed network can assume the roles of a server, a client, or both. A server is responsible for hosting a subset of model layers, typically
Transformer blocks, and managing requests from clients. Clients, in turn, can form a chain of pipeline-parallel consecutive servers to execute the inference of the entire model. Beyond inference, one can engage in fine-tuning activities using parameter-efficient
training methods like adapters, or by training entire layers. Trained submodules can be shared on a model hub, where others can leverage them for inference or further training. This demonstrates the efficient execution of existing 100B+ models in this collaborative
setting, aided by several optimizations such as dynamic quantization, prioritizing low-latency connections, and load balancing between servers. Let discuss this in bit more detail.
디자인 및 기술 개요
Practical applications of large language models can be broadly categorized into two main scenarios: inference and parameter-efficient adaptation to downstream tasks. I would try to outline the design of distributed network, elucidating how it effectively
manages both scenarios and facilitates the seamless sharing of trained adapters among system users.
- 10억 규모 모델의 추론: In the token generation process, a client locally stores the model’s token embeddings, typically constituting a small fraction of the total parameter count and fitting comfortably in the RAM of most modern laptops,
servers, and workstations. The client relies on servers to execute Transformer blocks, with each server hosting several consecutive blocks, the number of which is determined by the available GPU memory. Before each inference session, the client establishes
a chain of servers that collectively encompass all model layers. During the active session, the client utilizes the local embedding layer to retrieve embedding vectors for prefix tokens, transmitting these vectors to servers and receiving updated representations.
After obtaining the outputs of the final block, the client calculates next token probabilities and iterates through this process. Servers retain attention keys and values from past client inputs for subsequent inference steps, and clients store past inputs
to each server to facilitate a quick replacement if a server fails or goes offline. - 다운스트림 작업을 위한 교육: While Large Language Models (LLMs) excel on many problems with simple prompt engineering, achieving optimal results often requires training. Traditional fine-tuning strategies, which involve updating all model parameters
for the downstream task, become impractical for very large models due to extensive hardware requirements. For instance, fine-tuning BLOOM- 176B would demand nearly 3 TB of GPU memory to accommodate model, gradients, and optimizer states. 해결하기 위해
this challenge, the NLP community has devised parameter-efficient fine-tuning methods that preserve most pretrained model parameters. Some approaches select a subset of existing parameters, while others augment the model with additional trainable weights.
Despite lower memory requirements, these parameter-efficient approaches often compete favorably with full model fine-tuning and can outperform it in low-data scenarios. - 분산 미세 조정: The fundamental idea behind fine-tuning in a distributed network is that clients own trained parameters, while servers host the original pretrained layers. Servers can run backpropagation through their layers, returning gradients
concerning activations, but they do not update server-side parameters. This allows clients to concurrently execute different training tasks on the same set of servers without interference.
내부 구조 및 최적화
Performance considerations are paramount for distributed inference, involving three key aspects: computation speed (comparing a 5-year-old gaming GPU with a new data center GPU), communication delay due to node distance (intercontinental vs. local), and
bandwidth-induced communication delay (10 Mbit/s vs. 10 Gbit/s). While even consumer-grade GPUs like the GeForce RTX 3070 boast the capability to execute a complete inference step of BLOOM-176B in less than a second, the challenge lies in GPU memory constraints,
necessitating efficient solutions. One way to address this is by employing quantization for optimized parameter storage and dynamic server prioritization for enhanced communication speed.
- 소비자 GPU 사용: Considering the fact that each server possesses at least 16 GB of CPU RAM and 8 GB of GPU memory, the primary objective is to minimize the model’s memory footprint, enabling each device to accommodate more Transformer
blocks. For BLOOM with 176B parameters, requiring 352 GB of GPU memory in 16-bit precision, we can optimize this by compressing hidden states through dynamic blockwise quantization and reducing the weights to 8-bit precision using mixed matrix decomposition.
This results in a substantial reduction in the required number of nodes, effectively halving latency and minimizing the likelihood of failure. - 압축 의사 소통 버퍼:
파이프라인 병렬 통신 전에 숨겨진 상태에 대해 Dynamic Blockwise 양자화를 사용하여 생성 품질을 저하시키지 않고 대역폭 요구 사항을 절반으로 줄일 수 있습니다. - 모델 가중치 압축: 행렬 곱셈을 위해 8비트 혼합 행렬 분해를 활용하면 품질 저하 없이 메모리 사용량이 절반 정도 줄어듭니다.
- 인터넷을 통한 협업: 노드의 합류, 탈퇴, 실패에도 불구하고 안정적인 추론과 훈련을 보장하기 위해. 서버와 클라이언트를 위한 분산형 훈련과 맞춤형 내결함성 프로토콜을 위해 hivemind 라이브러리를 활용할 수 있습니다.
민주화 및 개인 정보 보호 문제
We can take inspiration from Blockchain to address potential imbalance between peers supplying GPU resources (servers) and those utilizing these servers for inference or fine-tuning. To address this, a system of incentives could be implemented. Peers running
servers could earn special points, redeemable for high-priority inference and fine-tuning or other rewards. This approach aims to encourage active participation and maintain a balanced network. An acknowledged limitation of our current approach is the potential
privacy concern where peers serving the initial layers of the model might leverage inputs to recover input tokens. One way to address this is users handling sensitive data are advised to limit their clients to trusted servers or establish their isolated swarm.
Though we can explore privacy-enhancing technologies such as secure multi-party computing or privacy-preserving hardware from NVIDIA.
결론
My aim through this blog is to introduce my take on Distributed Computing for AI and to explain both why it’s required and a brief technical overview on one possible approach to implement it. I am open to discuss new ideas to implement this. Considering
the fact that there will be massive application of AI in financial sector in coming years, we have to start thinking about how can we optimally utilize current resources before creating new ones. The another aim is to democratize access to large language models,
enabling a broader range of applications, studies, and research questions that were previously challenging or cost- prohibitive.
- SEO 기반 콘텐츠 및 PR 배포. 오늘 증폭하십시오.
- PlatoData.Network 수직 생성 Ai. 자신에게 권한을 부여하십시오. 여기에서 액세스하십시오.
- PlatoAiStream. 웹3 인텔리전스. 지식 증폭. 여기에서 액세스하십시오.
- 플라톤ESG. 탄소, 클린테크, 에너지, 환경, 태양광, 폐기물 관리. 여기에서 액세스하십시오.
- PlatoHealth. 생명 공학 및 임상 시험 인텔리전스. 여기에서 액세스하십시오.
- 출처: https://www.finextra.com/blogposting/25469/a-case-for-distributed-computing-for-llms-in-fintech?utm_medium=rssfinextra&utm_source=finextrablogs
- :있다
- :이다
- :아니
- :어디
- 10
- 13
- 16
- 2023
- 350
- 46
- 8
- a
- 소개
- 가속 자
- ACCESS
- 접근성
- 수용하다
- 달성
- 인정
- 활성화
- 활동적인
- 방과 후 액티비티
- 적응
- 추가
- 주소
- 발전
- 출현
- 조언받은
- 후
- AI
- 겨냥
- 목표
- All
- 수
- 이미
- 또한
- 항상
- am
- 중
- an
- 복수
- 및
- 다른
- 어플리케이션
- 어플리케이션
- 접근
- 구혼
- 있군요
- AS
- 측면
- 관련
- 취하다
- At
- 주의
- 증가하다
- 가능
- b
- 균형이 잡힌 자
- 균형
- 대역폭
- 기본
- BE
- 가
- 된
- 전에
- 뒤에
- 수익자
- 사이에
- 그 너머
- 큰
- 억원
- 비트
- 블록
- blockchain
- 블록
- 블로그
- 꽃
- 두
- 더 넓은
- 대체로
- 사업
- 비자 면제 프로그램에 해당하는 국가의 시민권을 가지고 있지만
- by
- ~를 계산하다
- CAN
- 능력
- 수
- 케이스
- 원인
- 센터
- 체인
- 도전
- 과제
- 도전
- 변경
- 선명한
- 명확하게
- 클라이언트
- 클라이언트
- 클라우드
- 협동
- 협력
- 집합
- 오는
- 의사 소통
- 커뮤니티
- 회사
- 비교
- 경쟁
- 완전한
- 완전히
- 손상
- 계산
- 계산
- 컴퓨팅
- 관심
- 에 관하여
- 연결
- 연속적인
- 따라서
- 고려 사항
- 치고는
- 제약
- 소비자
- 수정
- 값 비싼
- 비용
- 수
- CPU
- 만들기
- 임계
- 임계
- Current
- 관습
- 사용자 정의
- 데이터
- 데이터 센터
- 분산 된
- 지연
- 수요
- 민주화하다
- 보여줍니다
- 디자인
- 무례
- 세부 묘사
- 결정된
- 장치
- 다른
- 어려운
- 토론
- 거리
- 분산
- 분산 컴퓨팅
- 분산 네트워크
- do
- 도메인
- 두
- 동적
- e
- 마다
- 적립
- Edge
- 에지 컴퓨팅
- 효과적으로
- 효율적인
- 임베딩
- 채용
- 가능
- 에워 싸다
- 격려
- 참여
- 엔지니어링
- 강화
- 확인
- 전체의
- 세우다
- 개설하다
- 조차
- 모든
- 분명한
- 뛰어나다
- 실행
- 실행
- 현존하는
- 설명
- 탐험
- 광대 한
- 범위
- 용이하게하다
- 촉진
- 을 용이하게
- 사실
- 실패
- 실패
- 고장
- 오류
- 들
- 최후의
- 금융
- 금융 부문
- 금융 서비스
- 파인 트라
- FINTECH
- 입어 보기
- 발자국
- 럭셔리
- 형태
- 발견
- 분수
- 에
- 가득 찬
- 기본적인
- 추가
- 노름
- 세대
- 세대
- 생성적인
- 제너레이티브 AI
- 얻을
- 간다
- GPU
- GPU
- 그라디언트
- 반
- 이등분
- 줌
- 처리
- 하드웨어
- 있다
- 숨겨진
- 높은
- 하이 엔드
- 고성능
- 주인
- 호스팅
- 방법
- HTTPS
- 허브
- i
- 생각
- 아이디어
- if
- 불규형
- 구현
- 이행
- 구현
- in
- 인센티브
- 증가
- 인프라
- 처음에는
- 입력
- 입력
- 영감
- 예
- 를 받아야 하는 미국 여행자
- 인터 컨티넨탈
- 간섭
- 내부의
- 인터넷
- 으로
- 소개
- 투자
- 감다
- 참여
- 외딴
- 문제
- IT
- 그
- 가입
- JPG
- 키
- 키
- 언어
- 언어
- 노트북
- 넓은
- 성
- 작년
- 숨어 있음
- 층
- 레이어
- 누출
- 가장 작은
- 출발
- 적게
- 하자
- 이점
- 도서관
- 거짓
- 처럼
- 있을 수 있는 일
- 제한
- 한정
- 제한
- 하중
- 지방의
- 장소 상에서
- 롯
- 절감
- 본관
- 유지하다
- 제작
- 관리하다
- 관리
- .
- 거대한
- 매트릭스
- 메모리
- 방법
- 수도
- 획기적 사건
- 최소화
- 최소화
- 혼합 된
- 모델
- 모델
- 현대
- 배우기
- 가장
- 다자간
- 여러
- my
- 자연의
- 거의
- 필요
- 필요
- 네트워크
- 못
- 신제품
- 다음 것
- nlp
- 노드
- 노드
- 표준
- 특히
- 번호
- 엔비디아
- 목표
- 획득
- of
- 오프라인
- 자주
- on
- ONE
- 사람
- 열 수
- 오픈 소스
- 최적의
- 최적화
- 최적화
- or
- 주문
- 실물
- 기타
- 기타
- 우리의
- 아웃
- 개요
- Outlook
- 실적이 우수한
- 출력
- 위에
- 개요
- 자신의
- 매개 변수
- 매개 변수
- 최고의
- 참가자
- 참여
- 특별한
- 특별히
- 과거
- 동료
- 수행
- 플라톤
- 플라톤 데이터 인텔리전스
- 플라토데이터
- 전철기
- 소유하다
- 가능한
- 가능성
- 실용적인
- Precision
- 이전에
- 일차
- 이전에
- 우선 순위
- 우선 순위
- 개인 정보 보호
- 문제
- 방법
- 처리
- 프로그램 작성
- 프로그래밍 언어
- 프로젝트
- 소유권
- 프로토콜
- 제공
- 공개
- 목적
- 품질
- 문의
- 빠른
- 아주
- 램
- 범위
- 이유
- 전수
- 최근
- 인정
- 복구
- 상환 가능
- 감소
- 감소
- 축소
- 공개
- 신뢰할 수있는
- 바꿔 놓음
- 요청
- 필수
- 요구조건 니즈
- 필요
- 연구
- 연구원
- 제품 자료
- 응답
- 책임
- 결과
- 유지
- 반환
- 보상
- 역할
- 거칠게
- rtx
- 달리기
- 달리는
- s
- 희생하는
- 같은
- 라고
- 시나리오
- 과학
- 원활한
- 둘째
- 부문
- 안전해야합니다.
- 보안
- 고르다
- 감각
- 민감한
- 진지한
- 섬기는 사람
- 서버
- 서비스
- 피복재
- 세션
- 세트
- 설정
- 설치
- 몇몇의
- 공유
- 공유
- 단순, 간단, 편리
- 이후
- 작은
- 해결책
- 솔루션
- 일부
- 특별한
- 구체적인
- 속도
- 뛰어난
- 스타트
- 미국
- 단계
- 단계
- 저장
- 저장
- 상점
- 전략들
- 강한
- 구조
- 연구
- 후속의
- 실질적인
- 이러한
- 공급
- SUPPORT
- 지원
- 무리
- 체계
- 시스템은
- 받아
- 태스크
- 작업
- 테크니컬
- 기술
- Technology
- 조건
- 지원
- 텍스트
- 보다
- 그
- XNUMXD덴탈의
- 그들의
- 그들
- 그곳에.
- Bowman의
- 그들
- diver
- 이
- 그
- 그래도?
- 세
- 을 통하여
- 시간
- 에
- 함께
- 토큰
- 토큰
- 상단
- 금액
- 전통적인
- 전통적으로
- 훈련 된
- Thinking
- 변압기
- 신뢰할 수있는
- 시도
- 회전
- 두
- 일반적으로
- 발표
- 업데이트
- 업데이트
- 업데이트
- 사용
- 사용자
- 사용
- 유틸리티
- 활용
- 사용
- 이용하다
- 활용
- 마케팅은:
- 변화
- 대단히
- vs
- 방법..
- we
- 잘
- 했다
- 어느
- 동안
- why
- 의지
- 과
- 없이
- 겠지
- year
- 년
- 제퍼 넷