Microsoft의 6페이지짜리 논문이 폭발합니다: 삼항 LLM, 정말 맛있습니다!
이것은 Microsoft와 중국 과학 아카데미 대학이 최근 연구에서 제시한 결론입니다.
모든 LLM은 1.58비트입니다.
구체적으로 본 연구에서 제안한 방법은 BitNet b1.58이라고 하는데, 이는 대규모 언어 모델의 "루트" 매개변수에서 시작된다고 할 수 있습니다.
16비트 부동 소수점 숫자 형식의 기존 저장소 (예: FP16 또는 BF16) 가 삼항 , 즉 {-1, 0, 1}으로 변경되었습니다.
"1.58비트"는 각 매개변수가 1.58바이트의 저장 공간을 차지한다는 의미가 아니라, 각 매개변수가 1.58비트의 정보로 인코딩될 수 있다는 의미입니다.
이러한 변환 후 행렬의 계산에는 정수 추가만 포함됩니다. 따라서 대형 모델은 특정 정확도를 유지하면서 필요한 저장 공간과 컴퓨팅 리소스를 크게 줄일 수 있습니다.
예를 들어 BitNet b1.58은 모델 크기가 3B일 때 Llama와 비교하면 속도는 2.71배 증가한 반면 GPU 메모리 사용량은 원본의 거의 4분의 1에 불과합니다. 그리고 모델의 크기가 더 커지면(예: 70B)속도 향상과 메모리 절약이 더욱 중요해집니다! 이 파괴적인 아이디어는 네티즌들에게 깊은 인상을 줬고, 이 논문은 신문에서도 높은 관심을 받았습니다. 오래된 농담:
1비트면 충분합니다.BitNet b1.58은 어떻게 구현됩니까? 계속해서 읽어보자. 모든 매개변수를 삼항으로 변환
이 연구는 실제로 이전에 발표된 논문을 기반으로 원래 팀이 수행한 최적화입니다. 즉, 원래 BitNet에 추가로 0 값이 추가됩니다.
전반적으로 BitNet b1.58은 여전히 BitNet 아키텍처
(변압기)를 기반으로 하며 nn.Linear를 BitLinear로 대체합니다.
자세한 최적화를 위해 가장 먼저 언급한 "0을 더하는 것", 즉 Weight Quantization
(Weight Quantization)입니다.
BitNet b1.58 모델의 가중치는 삼항 값 {-1, 0, 1}으로 양자화됩니다. 이는 이진 시스템에서 각 가중치를 표현하기 위해 1.58비트를 사용하는 것과 같습니다. 이 정량화 방법은 모델의 메모리 공간을 줄이고 계산 프로세스를 단순화합니다.둘째,
양자화 함수 설계측면에서, 가중치를 -1, 0, +1로 제한하기 위해 연구자들은 절대 평균(absmean)이라는 양자화 함수를 사용했습니다.
이 함수는 먼저 가중치 행렬의 평균 절대값에 따라 크기를 조정한 다음 각 값을 가장 가까운 정수(-1, 0, +1)로 반올림합니다. 다음 단계는
활성화 양자화(활성화 양자화)
BitNet b1.58이 오픈 소스 커뮤니티와 호환되도록 하기 위해 연구팀은 RMSNorm, SwiGLU 등과 같은 LLaMA 모델의 구성 요소를 채택하여 주류 오픈 소스에 쉽게 통합될 수 있다는 점을 언급할 가치가 있습니다. 소스 소프트웨어.
마지막으로 실험적 성능 비교 측면에서 팀은 다양한 크기의 모델에서 BitNet b1.58과 FP16 LLaMA LLM을 비교했습니다.
결과에 따르면 BitNet b1.58은 3B 모델 크기의 완전 정밀도 LLaMA LLM과 일치하기 시작하면서 대기 시간, 메모리 사용량 및 처리량이 크게 향상되었습니다.
그리고 모델 크기가 커지면 이러한 성능 향상이 더욱 중요해집니다.
네티즌: 소비자급 GPU에서 1200억 개의 대형 모델을 실행할 수 있습니다
위에서 언급했듯이 이 연구의 독특한 방법은 인터넷에서 많은 열띤 토론을 불러일으켰습니다.
DeepLearning.scala 작성자 Yang Bo는 다음과 같이 말했습니다.
원래 BitNet과 비교할 때 BitNet b1.58의 가장 큰 특징은 0개의 매개변수를 허용한다는 것입니다. 양자화 함수를 조금만 수정하면 0개의 매개변수 비율을 조절할 수 있지 않을까 생각합니다. 0개 매개변수의 비율이 크면 가중치를 희소 형식으로 저장할 수 있으므로 각 매개변수가 차지하는 평균 비디오 메모리는 1비트보다 훨씬 작습니다. 이는 중량 수준 MoE와 동일합니다. 일반 MoE보다 더 우아한 것 같아요.
동시에 그는 BitNet의 단점도 제기했습니다.
BitNet의 가장 큰 단점은 추론 중에 메모리 오버헤드를 줄일 수 있지만 최적화 상태와 그래디언트가 여전히 부동 소수점 수를 사용하고 훈련이 여전히 매우 어렵다는 것입니다. 메모리 소모적입니다. BitNet이 훈련 중에 비디오 메모리를 절약하는 기술과 결합할 수 있다면 기존의 반정밀도 네트워크에 비해 동일한 컴퓨팅 성능과 비디오 메모리로 더 많은 매개변수를 지원할 수 있어 큰 장점이 될 것이라고 생각합니다.
최적화 상태의 그래픽 메모리 오버헤드를 절약하는 현재 방법은 오프로드입니다. 그래디언트의 메모리 사용량을 절약하는 방법은 ReLoRA일 수 있습니다. 그러나 ReLoRA 논문 실험에서는 10억 개의 매개변수를 갖는 모델만 사용했을 뿐, 수백억, 수천억 개의 매개변수를 갖는 모델로 일반화할 수 있다는 증거는 없다.
Δ이미지 출처: Zhihu, 허가를 받아 인용
그러나 일부 네티즌들은 다음과 같이 분석했습니다.
논문이 성립되면 24GB 소비자급 GPU에서 120B 대형 모델을 실행할 수 있습니다.
이 새로운 방법에 대해 어떻게 생각하시나요?
위 내용은 Microsoft의 6페이지짜리 논문이 폭발합니다: 삼항 LLM, 정말 맛있습니다!의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











MySQL의 현장 작동 안내서 : 필드를 추가, 수정 및 삭제합니다. 필드 추가 : Alter Table_Name ADD CORMEN_NAME DATA _TYPE [NOT NOT NORN NOT] [DEFAULT DEFAULT_VALUE] [기본 키] [기본 키] [AUTO_INCREMENT] 수정 필드 : ALTER TABLE_NAME COLUME_NAME DATY_TYPE [NOT NOT NOT NOT NOT DEFAULT_VALUE] [기본 키]

Oracle 데이터베이스의 무결성 제약 조건은 다음을 포함하여 데이터 정확도를 보장 할 수 있습니다. NULL : NULL 값은 금지됩니다. 고유 : 독창성을 보장하고 단일 널 값을 허용합니다. 기본 키 : 기본 키 제약 조건, 고유 한 강화 및 널 값을 금지합니다. 외국 키 : 테이블 간의 관계 유지, 외국 키는 기본 테이블 기본 키를 나타냅니다. 점검 : 조건에 따라 열 값을 제한합니다.

중첩 쿼리는 한 쿼리에 다른 쿼리를 포함시키는 방법입니다. 주로 복잡한 조건을 충족하고 여러 테이블을 연관시키고 요약 값 또는 통계 정보를 계산하는 데이터를 검색하는 데 사용됩니다. 예로는 평균 임금 이상의 직원 찾기, 특정 범주에 대한 주문 찾기 및 각 제품의 총 주문량 계산이 있습니다. 중첩 쿼리를 작성할 때는 다음을 따라야합니다. 하위 쿼리를 작성하고 결과를 외부 쿼리 (별명 또는 클로시로 참조)에 작성하고 쿼리 성능 (색인 사용)을 최적화하십시오.

Oracle은 세계 최대의 데이터베이스 관리 시스템 (DBMS) 소프트웨어 회사입니다. 주요 제품에는 다음과 같은 기능이 포함됩니다. 관계형 데이터베이스 관리 시스템 (Oracle Database) 개발 도구 (Oracle Apex, Oracle Visual Builder) Middleware (Oracle Weblogic Server, Oracle SOA Suite) 클라우드 서비스 (Oracle Cloud Infrastructure) 분석 및 비즈니스 인텔리전스 (Oracle Analytics Cloud, Oracle Essbase) 블록카 인 (Oracle Blockchain PLA

이 기사에서는 데비안 시스템에서 Apache의 로그 형식을 사용자 정의하는 방법에 대해 설명합니다. 다음 단계는 구성 프로세스를 안내합니다. 1 단계 : Apache 구성 파일 액세스 Debian 시스템의 기본 Apache 구성 파일은 일반적으로 /etc/apache2/apache2.conf 또는 /etc/apache2/httpd.conf에 있습니다. 다음 명령을 사용하여 루트 권한으로 구성 파일을 엽니 다.

Tomcat 로그는 메모리 누출 문제를 진단하는 열쇠입니다. Tomcat 로그를 분석하면 메모리 사용 및 가비지 수집 (GC) 동작에 대한 통찰력을 얻을 수 있으며 메모리 누출을 효과적으로 찾아서 해결할 수 있습니다. 다음은 Tomcat 로그를 사용하여 메모리 누출 문제를 해결하는 방법입니다. 1. GC 로그 분석 먼저 자세한 GC 로깅을 활성화하십시오. 다음 JVM 옵션을 Tomcat 시작 매개 변수에 추가하십시오. -xx : printgcdetails-xx : printgcdatestamps-xloggc : gc. 분석 gc.log

Oracle 데이터베이스 개발 도구에는 SQL*Plus뿐만 아니라 다음 도구도 포함됩니다. PL/SQL 개발자 : 유료 도구, 코드 편집, 디버깅 및 데이터베이스 관리 기능 제공 및 PL/SQL 코드의 구문 강조 및 자동 완료를 지원합니다. Toad for Oracle : PL/SQL 개발자와 같은 기능과 추가 데이터베이스 성능 모니터링 및 SQL 최적화 기능을 제공하는 유료 도구. SQL Developer : Oracle의 공식 무료 도구, 예산이 제한된 개발자에게 적합한 코드 편집, 디버깅 및 데이터베이스 관리의 기본 기능을 제공합니다. 데이터 그립 : JetBrains

Debian Systems에서 readDIR 함수는 디렉토리 내용을 읽는 데 사용되지만 반환하는 순서는 사전 정의되지 않습니다. 디렉토리에 파일을 정렬하려면 먼저 모든 파일을 읽은 다음 QSORT 기능을 사용하여 정렬해야합니다. 다음 코드는 데비안 시스템에서 readdir 및 qsort를 사용하여 디렉토리 파일을 정렬하는 방법을 보여줍니다.#포함#포함#포함#포함#포함 // QsortIntCompare (constvoid*a, constVoid*b) {returnStrcmp (*(*)
