대규모 AI 모델을 구축하려면 학습 곡선이 필요하며 시간과 리소스 집약적입니다. 최근까지 우리는 사전 훈련된 AI의 모델 가중치를 십진수의 모호한 2차원 배열로 생각했지만, 그 이상의 것이 있다면 어떨까요?
오늘 우리는 AI 모델 가중치를 탐색하는 방법을 공유하고 싶지만 먼저 여기까지 어떻게 왔는지 살펴보겠습니다.
우리는 이 주요 논문을 읽었습니다.
심층 컨벌루션 신경망을 사용한 ImageNet 분류
주의가 필요한 전부입니다
시사점 / 하이라이트
주요 질문
행렬과 고해상도 float 32 데이터에 또 무엇이 작동하나요? (TIFF 이미지)?
다른 유형의 반복기로 "가중치"를 탐색하기 위해 대규모 고해상도 데이터 세트가 있는 이러한 시스템의 유사한 기술을 재사용할 수 없는 이유는 무엇입니까? 현재의 Rust 및 mmap 성능으로 디스크에 100GB 파일을 로드하는 경우 이 접근 방식이 CPU 전용으로 제한된 소규모 모델의 경우 GPU 없이 작동할 수 있는지 누가 알겠습니까?
시작하려면 어떤 기술적인 부분이 누락되었거나 필요합니까?
무엇
우리는 가중치를 추출하고 식별하기 위한 프로토타입을 구축했습니다.
원래 소스 훈련 데이터와 다시 관련됨
여러 훈련 세대에 걸쳐 변화
내장된 "가중치"로 저장된 훈련 지식의 조밀한 3D 필드를 나타내는 것으로 보입니다(증명되지 않았지만 이는 작동하는 것으로 보이는 기술을 기반으로 한 가설입니다)
왜
우리는 LLM이 특별한 이유와 가중치가 이 혁신적인 기술에 어떻게 적용되는지 이해하고 싶었습니다.
LLM 가중치가 무엇인지 확인하는 데 시간을 투자함으로써 인간 두뇌 스캔을 분석하는 잘 알려진 시각화 기술을 적용하여 가중치가 무엇인지 추출, 식별, 재사용 및 감사할 수 있다고 믿습니다.
대규모 생성 AI Transformer 가중치가 널리 사용되기 전에는 이러한 유형의 밀도가 높은 고해상도 교육 데이터 세트가 매우 비싸고 자주 공유되지 않았습니다.
어떻게
우리는 고해상도 데이터의 체적 분석을 위해 디지털 신호 처리 알고리즘(DSP)을 사용하여 이 프로토타입을 구축하고 분석 엔진을 Blender(오픈 소스 시각화 도구)와 결합했습니다.
우리는 소스를 공개하고 AI가 처음부터 어떻게 학습하는지 추적하고 Blender를 사용하여 가중치가 어떻게 보이는지 내보내고 공유할 것입니다.
Blender를 사용하여 3D 볼륨의 모델 가중치를 분석하기로 선택함으로써 시계열 교육 데이터 세트를 캡처하기 위한 초기 v1 API를 설계할 수 있는 애니메이션 기능을 내장했습니다. 이 교육 데이터 세트는 체적 데이터에 대한 고성능 가중치 분석을 사용하여 AI 기본 모델이 각 교육 단계를 통해 학습하는 방법을 캡처하는 데 중점을 둡니다.
우리는 이러한 모델이 어떻게 보이는지 공유하여 모델을 이해하고 AI가 스스로 구축하고 감사하도록 교육해야 한다고 믿습니다.
우리는 전문가들의 혼합이 어떤 모습인지 보고 싶습니다(아래에서 최신 Dolphin 2.5 Mixtral 8x7B STL/glTF 메시 버전을 다운로드하세요).
이 저장소는 생성적 AI 가중치를 프로파일링, 추출, 시각화 및 재사용하여 보다 정확한 AI 모델을 구축하고 미사용 감사/스캔 가중치를 생성하여 위험에 대한 지식 영역을 식별하기 위한 것입니다.
참고: 오늘 버전에는 기존 모델 가중치를 프로파일링, 추출 및 시각화하는 방법만 포함되어 있습니다. 이제 AI 모델이 어떻게 학습하는지 시각화할 수 있으므로 다음은 기초적인 모델 교육입니다. 훈련 시각화는 "bampe-weights 저장소가 numpy, pandas 및 Blender를 통합하는 방법"에 대한 새로운 AI 모델을 가르치는 것으로 시작됩니다. 공유하기 전에 정리할 Python/(task,prompt,answer) 파일이 약 190개 있습니다.
이 저장소는 시간 경과에 따른 모델 학습의 시각화를 탐색하고 추출된 "가중치 형태"로부터 교육 데이터세트를 구축하여 새로운 AI 모델 가중치를 구축 및 예측합니다(기존 교육 방법보다 더 빠를 수도 있음).
다음은 Blender 내에서 Llama 2 7B Chat GPTQ의 모습이며 이 저장소를 사용하여 gif로 내보낸 모습입니다.
다음 Google 드라이브 폴더에는 대규모 언어 모델 glTF 및 STL 시각화의 새로운 색인이 포함되어 있습니다. 파일 범위는 ~1MB에서 +2GB입니다.
새로운 모델/밀도를 보고 싶다면 연락하세요!
STL 파일이 충분히 작으면 GitHub는 3D 메시를 자동으로 렌더링할 수 있습니다. 참고: 현재 모바일에서 GitHub STL을 보는 것은 이상적이지 않지만 데스크탑에서는 마우스 휠을 반대로 사용하여 레이어를 확대하고 마우스 왼쪽/오른쪽 버튼으로 회전할 수 있습니다.
우리는 50MB 제한을 유지하고 GitHub의 리포지토리에 자산을 저장하려고 노력합니다 - https://github.com/matlok-ai/gen-ai-datasets-for-bampe-weights/docs/images/blender
생성 AI 가중치가 로컬에서 어떻게 보이는지 확인하는 데 도움이 되는 컨테이너의 자체 호스트 블렌더:
내보낸 STL/GLB 파일이 이미 포함된 블렌더 데모 컨테이너 이미지
matlok/blender-ai-demos 이미지는 LinuxServer Blender 이미지에서 생성되었으며 브라우저에서 볼 수 있는 3D STL 및 GLB 파일을 포함합니다. blender-ai-demos 추출된 컨테이너 이미지는 디스크에서 4.0GB를 초과하며 약 3GB RAM을 사용하여 40MB가 넘는 STL 또는 glTF 파일을 처리합니다.
데모 시각화는 컨테이너 내부의 다음 디렉터리에 있습니다.
/config/bampe-visualizations
도커
docker rm blender; docker-compose -f compose/blender-demos.yaml up -d
포드맨
podman rm -t 0 -f blender; podman-compose -f compose/blender-demos.yaml up -d
기본 Linux 서버 이미지
LinuxServer/docker-blender 이미지(lscr.io/linuxserver/blender:latest)를 실행하고 호스트와 Blender 컨테이너( .blender 디렉터리) 사이에 이미 마운트된 볼륨을 사용하여 볼 준비가 된 새 STL/GLB 파일을 생성합니다. docker-blender 추출된 컨테이너 이미지는 디스크에서 ~3GB입니다.
도커
docker rm blender; docker-compose -f compose/blender-demos.yaml up -d
포드맨
podman rm -t 0 -f blender; podman-compose -f compose/base.yaml up -d
참고: 새로 생성된 시각적 아티팩트(STL 및 glTF glb 파일)는 Blender 컨테이너 내부의 이 디렉터리에서 컨테이너가 다시 시작된 후에만 표시됩니다.
/config/bampe
브라우저에서 블렌더를 엽니다
블렌더는 다음 URL에서 듣고 있습니다:
http://localhost:3000
3D Blender AI 시각화를 수동으로 로드
Blender가 브라우저에서 실행되면 다음 메뉴를 클릭하여 STL 또는 glTF 파일을 가져올 수 있습니다.
파일
수입
STL 또는 glTF
파일은 실행 중인 컨테이너 버전에 따라 /config/bampe 또는 /config/bampe-visualizations 에 있습니다.
마우스 탐색 모드를 활성화하려면 Shift + `를 사용하고 1인칭 이동을 위해서는 W, A, S, D를 사용하세요.
Shift 버튼을 누르고 있으면 터보 속도로 이동합니다.
편집 -> 기본 설정 -> 탐색 -> 비행 및 걷기 -> 걷기 토글 화살표 열기
마우스 감도 조정 -> 0.1
걷기 속도 조정 -> 20m/s
이 리포지토리는 사전 훈련된 AI 가중치를 사용하여 AI를 구축하는 대체 접근 방식을 연구하기 위한 것입니다. 진행 중인 작업이므로 명령줄에서 실행하는 방법에 대한 자세한 내용은 개발 환경 설정을 참조하세요.
온라인 도구를 사용하여 이러한 모양을 공유하고 볼 수 있습니다.
이 저장소는 다음 플랫폼에서 테스트되었습니다.