기술 주변기기 일체 포함 학부생들은 60줄의 코드를 사용하여 손으로 대규모 GPT 모델을 만드는 방법을 가르칩니다. 기술 소개는 튜토리얼과 비슷합니다.

학부생들은 60줄의 코드를 사용하여 손으로 대규모 GPT 모델을 만드는 방법을 가르칩니다. 기술 소개는 튜토리얼과 비슷합니다.

Apr 11, 2023 pm 11:49 PM
gpt 모델

현재 인공지능의 획기적인 방향으로 LLM(Large Language Model)이 꼽히고 있습니다. 사람들은 질문과 답변, 생성, 수학적 추론, 코드 작성 등 모든 종류의 복잡한 작업을 수행하는 데 이를 사용하려고 합니다. 최근 ChatGPT의 인기가 가장 좋은 예입니다.

그러나 기계 학습 실무자에게 대형 모델에 대한 문턱은 매우 높습니다. 너무 크고 훈련하기 어렵기 때문에 이 방향은 오랫동안 대기업에 의해 독점되어 왔습니다. 그러나 최근에는 GPT 모델을 단순화하는 방법이 점점 더 많아지고 있습니다. 1월 중순, 전 Tesla AI 수석 이사 Andrej Karpathy(현재 OpenAI로 복귀)가 처음부터 GPT 모델을 구축하는 방법에 대한 완전한 튜토리얼을 발표했습니다​. 그러나 훈련된 GPT와 OpenAI의 GPT-3를 비교하면 둘 사이의 크기 차이는 10,000~100만 배에 이릅니다. 최근 캐나다 McMaster University의 소프트웨어 공학 학부생인 Jay Mody는 NumPy 라이브러리를 가져와 PicoGPT라는 이름을 지정하여 단 60줄의 코드만으로 처음부터 GPT 모델을 구현했습니다. 뿐만 아니라 그는 훈련된 GPT-2 모델 가중치를 구현에 로드하고 일부 텍스트를 생성했습니다. 아래에는 60줄의 코드가 나와 있습니다.

학부생들은 60줄의 코드를 사용하여 손으로 대규모 GPT 모델을 만드는 방법을 가르칩니다. 기술 소개는 튜토리얼과 비슷합니다.

그러나 이렇게 하려면 Python과 NumPy에 익숙해야 하며 신경망 훈련에 대한 기본적인 경험이 있어야 합니다. 저자는 이 블로그가 GPT에 대해 간단하고 이해하기 쉽고 완전한 소개를 제공하는 것을 목표로 한다고 밝혔습니다. 따라서 저자는 정방향 패스 코드를 구현하기 위해 이미 훈련된 모델 가중치만 사용합니다.

학부생들은 60줄의 코드를 사용하여 손으로 대규모 GPT 모델을 만드는 방법을 가르칩니다. 기술 소개는 튜토리얼과 비슷합니다.

코드 주소:

​https://github.com/jaymody/picoGPT/blob/29e78cc52b58ed2c1c483ffea2eb46ff 6bdec785/gpt2_pico.py#L3-L58​

이 연구를 위해 Andrej Karpathy는 다음과 같은 네 단어를 제시했습니다: 늦었지만 도착했습니다. 당시 Karpathy가 만든 minGPT와 nanoGPT에는 300줄의 코드가 필요했습니다.

학부생들은 60줄의 코드를 사용하여 손으로 대규모 GPT 모델을 만드는 방법을 가르칩니다. 기술 소개는 튜토리얼과 비슷합니다.이 튜토리얼은 임계값이 완전히 0이 아니라는 점을 언급할 가치가 있습니다. 독자들의 이해를 돕기 위해 저자는 먼저 GPT가 무엇인지, GPT의 입력과 출력, 기타 내용을 아주 자세하게 소개한다.

학부생들은 60줄의 코드를 사용하여 손으로 대규모 GPT 모델을 만드는 방법을 가르칩니다. 기술 소개는 튜토리얼과 비슷합니다.

GPT가 정확히 무엇을 할 수 있는지에 대해 저자는 이메일을 쓰고, 책을 요약하고, 인스타그램 캡션에 대한 아이디어를 제공하고, 블랙홀을 5가지로 설명할 수 있습니다. , SQL로 코드 작성 등

이 부분을 주의 깊게 읽으면 GPT에 대한 기본 지식을 대략적으로 이해할 수 있습니다. 이 배경 정보를 바탕으로 다음 단계는 설정 방법입니다.

프로젝트 소개

Settings

이 장에서는 주로 인코더, 하이퍼 매개 변수 및 매개 변수 설정 방법을 소개합니다. 🎙

학부생들은 60줄의 코드를 사용하여 손으로 대규모 GPT 모델을 만드는 방법을 가르칩니다. 기술 소개는 튜토리얼과 비슷합니다.

참고로 M1 Macbook을 사용하는 경우 pip install을 실행하기 전에 요구사항.txt에서 tensorflow를 tensorflow-macos로 변경해야 합니다. 이 프로젝트의 파일에는 인코더.py, utils.py, gpt2.py, gpt2_pico.py가 포함됩니다.

  • encoder.py: gpt-2 저장소에서 직접 가져온 OpenAI BPE Tokenizer 코드가 포함되어 있습니다. utils.py: GPT-2 모델 가중치, 토크나이저 및 하이퍼파라미터를 다운로드하고 로드하기 위한 코드가 포함되어 있습니다.
  • gpt2.py: Python 스크립트로 실행할 수 있는 GPT 모델 및 생성 코드가 포함되어 있습니다. .py: gpt2.py와 동일하지만 코드 줄이 더 적습니다.
  • gpt2.py를 처음부터 구현해야 하므로 먼저 gpt2.py를 삭제하고 빈 파일을 다시 생성하면 됩니다.

그런 다음 다음 코드를 복사하세요. to gpt2 In .py:

학부생들은 60줄의 코드를 사용하여 손으로 대규모 GPT 모델을 만드는 방법을 가르칩니다. 기술 소개는 튜토리얼과 비슷합니다.

위 코드에는 4개의 주요 부분이 포함되어 있습니다.

학부생들은 60줄의 코드를 사용하여 손으로 대규모 GPT 모델을 만드는 방법을 가르칩니다. 기술 소개는 튜토리얼과 비슷합니다.

gpt2 함수는 이번에 GPT를 구현하는 실제 코드입니다. 자동 회귀 디코딩 알고리즘 ;

main function;
  • fire.Fire(main) 최종적으로 코드를 실행할 수 있도록 파일을 CLI 애플리케이션으로 변환합니다: python gpt2.py "여기에 일부 프롬프트".
  • 주 함수에는 encode, hparams, params 매개변수가 포함되어 있으며 다음 코드를 실행합니다.

그런 다음 필요한 모델 및 토크나이저 파일이 models/124M 파일에 다운로드됩니다.

설정이 완료된 후 저자는 인코더, 하이퍼 매개변수 및 매개변수에 대한 몇 가지 세부 사항을 소개하기 시작합니다. 인코더를 예로 들면, 이 기사의 인코더는 GPT-2에서 사용하는 BPE 토크나이저와 동일합니다. 다음은 이 인코더로 인코딩 및 디코딩된 텍스트의 몇 가지 예입니다.

학부생들은 60줄의 코드를 사용하여 손으로 대규모 GPT 모델을 만드는 방법을 가르칩니다. 기술 소개는 튜토리얼과 비슷합니다.

실제 토큰은 다음과 같습니다.

학부생들은 60줄의 코드를 사용하여 손으로 대규모 GPT 모델을 만드는 방법을 가르칩니다. 기술 소개는 튜토리얼과 비슷합니다.

때때로 토큰이 단어인 경우도 있습니다(예: Not). , 때로는 단어이지만 앞에 공백이 있고(예: Ġall, Ġ는 공백을 나타냄) 때로는 단어의 일부이고(예: capes는 Ġcap과 es로 분할됨) 때로는 구두점입니다(예: .).

BPE의 한 가지 이점은 임의의 문자열을 인코딩할 수 있다는 점이며, 어휘에 존재하지 않는 항목이 있으면 이를 이해하는 하위 문자열로 나눕니다.

학부생들은 60줄의 코드를 사용하여 손으로 대규모 GPT 모델을 만드는 방법을 가르칩니다. 기술 소개는 튜토리얼과 비슷합니다.

더 자세한 내용 다시 설명하지 않겠습니다. 다음으로 기본 신경망에 대해 소개하겠습니다. 이 부분은 주로 GELU, Softmax 기능, Layer Normalization 및 Linear를 포함하여 훨씬 더 기본적입니다.

학부생들은 60줄의 코드를 사용하여 손으로 대규모 GPT 모델을 만드는 방법을 가르칩니다. 기술 소개는 튜토리얼과 비슷합니다.

각 작은 부분에는 코드 예제가 있습니다. 예를 들어 선형 부분에는 저자가 표준 행렬 곱셈 + 편향을 보여줍니다. 벡터 공간 다른 벡터 공간에 투영하는 코드는 다음과 같습니다.

학부생들은 60줄의 코드를 사용하여 손으로 대규모 GPT 모델을 만드는 방법을 가르칩니다. 기술 소개는 튜토리얼과 비슷합니다.

GPT 아키텍처

학부생들은 60줄의 코드를 사용하여 손으로 대규모 GPT 모델을 만드는 방법을 가르칩니다. 기술 소개는 튜토리얼과 비슷합니다.이 부분에서는 GPT 자체의 아키텍처를 소개합니다.

Transformer 아키텍처는 다음과 같습니다.

학부생들은 60줄의 코드를 사용하여 손으로 대규모 GPT 모델을 만드는 방법을 가르칩니다. 기술 소개는 튜토리얼과 비슷합니다.

Transformer는 디코더 스택만 사용합니다(다이어그램의 오른쪽 부분):

학부생들은 60줄의 코드를 사용하여 손으로 대규모 GPT 모델을 만드는 방법을 가르칩니다. 기술 소개는 튜토리얼과 비슷합니다.

인코더 제거로 인해 중간 Cross-Attention 레이어도 삭제된다는 점에 유의해야 합니다. ​

상위 수준에서 GPT 아키텍처는 다음 세 부분으로 구성됩니다.

학부생들은 60줄의 코드를 사용하여 손으로 대규모 GPT 모델을 만드는 방법을 가르칩니다. 기술 소개는 튜토리얼과 비슷합니다.

텍스트 + 위치 삽입

Transformer 디코더 스택

어휘로의 투영.
  • 코드는 다음과 같습니다:

코드 섹션 스크린샷

학부생들은 60줄의 코드를 사용하여 손으로 대규모 GPT 모델을 만드는 방법을 가르칩니다. 기술 소개는 튜토리얼과 비슷합니다. 다음으로, 위의 세 부분은 각각 더 자세히 분류되어 있습니다. 여기 또 다시.

위는 저자의 GPT 구현입니다. 다음 단계는 이들을 결합하고 코드를 실행하여 gpt2.py를 얻는 것입니다. 전체 내용은 단 120줄의 코드입니다(주석과 공백을 제거하면 60줄). 저자는 다음과 같은 방법으로 결과를 테스트했습니다.

출력 결과는 다음과 같습니다.

학부생들은 60줄의 코드를 사용하여 손으로 대규모 GPT 모델을 만드는 방법을 가르칩니다. 기술 소개는 튜토리얼과 비슷합니다.

저자가 말했듯이: 이 실험은 효과가 있었습니다.

이 글은 작가의 아이디어에 따른 전체적인 과정을 간략하게만 소개한 글입니다. 더 알고 싶은 친구들은 원본 링크를 참고하세요.

학부생들은 60줄의 코드를 사용하여 손으로 대규모 GPT 모델을 만드는 방법을 가르칩니다. 기술 소개는 튜토리얼과 비슷합니다.

원본 링크: https://jaykmody.com/blog/gpt-from-scratch/#basic-layers

위 내용은 학부생들은 60줄의 코드를 사용하여 손으로 대규모 GPT 모델을 만드는 방법을 가르칩니다. 기술 소개는 튜토리얼과 비슷합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

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

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 채팅 명령 및 사용 방법
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

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

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

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

세계에서 가장 강력한 오픈 소스 MoE 모델이 여기에 있습니다. 중국의 기능은 GPT-4와 비슷하며 가격은 GPT-4-Turbo의 거의 1%에 불과합니다. 세계에서 가장 강력한 오픈 소스 MoE 모델이 여기에 있습니다. 중국의 기능은 GPT-4와 비슷하며 가격은 GPT-4-Turbo의 거의 1%에 불과합니다. May 07, 2024 pm 04:13 PM

기존 컴퓨팅을 능가할 뿐만 아니라 더 낮은 비용으로 더 효율적인 성능을 달성하는 인공 지능 모델을 상상해 보세요. 이것은 공상과학 소설이 아닙니다. DeepSeek-V2[1], 세계에서 가장 강력한 오픈 소스 MoE 모델이 여기에 있습니다. DeepSeek-V2는 경제적인 훈련과 효율적인 추론이라는 특징을 지닌 전문가(MoE) 언어 모델의 강력한 혼합입니다. 이는 236B 매개변수로 구성되며, 그 중 21B는 각 마커를 활성화하는 데 사용됩니다. DeepSeek67B와 비교하여 DeepSeek-V2는 더 강력한 성능을 제공하는 동시에 훈련 비용을 42.5% 절감하고 KV 캐시를 93.3% 줄이며 최대 생성 처리량을 5.76배로 늘립니다. DeepSeek은 일반 인공지능을 연구하는 회사입니다.

AI가 수학적 연구를 전복시킨다! 필즈상 수상자이자 중국계 미국인 수학자, Terence Tao가 좋아하는 11개 논문 발표 | AI가 수학적 연구를 전복시킨다! 필즈상 수상자이자 중국계 미국인 수학자, Terence Tao가 좋아하는 11개 논문 발표 | Apr 09, 2024 am 11:52 AM

AI는 실제로 수학을 변화시키고 있습니다. 최근 이 문제에 주목하고 있는 타오저쉬안(Tao Zhexuan)은 '미국수학회지(Bulletin of the American Mathematical Society)' 최신호를 게재했다. '기계가 수학을 바꿀 것인가?'라는 주제를 중심으로 많은 수학자들이 그들의 의견을 표현했습니다. 저자는 필즈상 수상자 Akshay Venkatesh, 중국 수학자 Zheng Lejun, 뉴욕대학교 컴퓨터 과학자 Ernest Davis 등 업계의 유명 학자들을 포함해 강력한 라인업을 보유하고 있습니다. AI의 세계는 극적으로 변했습니다. 이 기사 중 상당수는 1년 전에 제출되었습니다.

Google은 열광하고 있습니다. JAX 성능이 Pytorch와 TensorFlow를 능가합니다! GPU 추론 훈련을 위한 가장 빠른 선택이 될 수 있습니다. Google은 열광하고 있습니다. JAX 성능이 Pytorch와 TensorFlow를 능가합니다! GPU 추론 훈련을 위한 가장 빠른 선택이 될 수 있습니다. Apr 01, 2024 pm 07:46 PM

Google이 추진하는 JAX의 성능은 최근 벤치마크 테스트에서 Pytorch와 TensorFlow를 능가하여 7개 지표에서 1위를 차지했습니다. 그리고 JAX 성능이 가장 좋은 TPU에서는 테스트가 이루어지지 않았습니다. 개발자들 사이에서는 여전히 Tensorflow보다 Pytorch가 더 인기가 있습니다. 그러나 앞으로는 더 큰 모델이 JAX 플랫폼을 기반으로 훈련되고 실행될 것입니다. 모델 최근 Keras 팀은 기본 PyTorch 구현을 사용하여 세 가지 백엔드(TensorFlow, JAX, PyTorch)와 TensorFlow를 사용하는 Keras2를 벤치마킹했습니다. 첫째, 그들은 주류 세트를 선택합니다.

MLP를 대체하는 KAN은 오픈소스 프로젝트를 통해 컨볼루션으로 확장되었습니다. MLP를 대체하는 KAN은 오픈소스 프로젝트를 통해 컨볼루션으로 확장되었습니다. Jun 01, 2024 pm 10:03 PM

이달 초 MIT와 기타 기관의 연구자들은 MLP에 대한 매우 유망한 대안인 KAN을 제안했습니다. KAN은 정확성과 해석성 측면에서 MLP보다 뛰어납니다. 그리고 매우 적은 수의 매개변수로 더 많은 수의 매개변수를 사용하여 실행되는 MLP보다 성능이 뛰어날 수 있습니다. 예를 들어 저자는 KAN을 사용하여 더 작은 네트워크와 더 높은 수준의 자동화로 DeepMind의 결과를 재현했다고 밝혔습니다. 구체적으로 DeepMind의 MLP에는 약 300,000개의 매개변수가 있는 반면 KAN에는 약 200개의 매개변수만 있습니다. KAN은 MLP와 같이 강력한 수학적 기반을 가지고 있으며, KAN은 Kolmogorov-Arnold 표현 정리를 기반으로 합니다. 아래 그림과 같이 KAN은

안녕하세요, 일렉트릭 아틀라스입니다! 보스턴 다이나믹스 로봇 부활, 180도 이상한 움직임에 겁먹은 머스크 안녕하세요, 일렉트릭 아틀라스입니다! 보스턴 다이나믹스 로봇 부활, 180도 이상한 움직임에 겁먹은 머스크 Apr 18, 2024 pm 07:58 PM

Boston Dynamics Atlas가 공식적으로 전기 로봇 시대에 돌입했습니다! 어제 유압식 Atlas가 역사의 무대에서 "눈물을 흘리며" 물러났습니다. 오늘 Boston Dynamics는 전기식 Atlas가 작동 중이라고 발표했습니다. 상업용 휴머노이드 로봇 분야에서는 보스턴 다이내믹스가 테슬라와 경쟁하겠다는 각오를 다진 것으로 보인다. 새 영상은 공개된 지 10시간 만에 이미 100만 명이 넘는 조회수를 기록했다. 옛 사람들은 떠나고 새로운 역할이 등장하는 것은 역사적 필연이다. 올해가 휴머노이드 로봇의 폭발적인 해라는 것은 의심의 여지가 없습니다. 네티즌들은 “로봇의 발전으로 올해 개막식도 인간처럼 생겼고, 자유도도 인간보다 훨씬 크다. 그런데 정말 공포영화가 아닌가?”라는 반응을 보였다. 영상 시작 부분에서 아틀라스는 바닥에 등을 대고 가만히 누워 있는 모습입니다. 다음은 입이 떡 벌어지는 내용이다

FisheyeDetNet: 어안 카메라를 기반으로 한 최초의 표적 탐지 알고리즘 FisheyeDetNet: 어안 카메라를 기반으로 한 최초의 표적 탐지 알고리즘 Apr 26, 2024 am 11:37 AM

표적 탐지는 자율주행 시스템에서 상대적으로 성숙한 문제이며, 그 중 보행자 탐지는 가장 먼저 배포되는 알고리즘 중 하나입니다. 대부분의 논문에서 매우 포괄적인 연구가 수행되었습니다. 그러나 서라운드 뷰를 위한 어안 카메라를 사용한 거리 인식은 상대적으로 덜 연구되었습니다. 큰 방사형 왜곡으로 인해 표준 경계 상자 표현은 어안 카메라에서 구현하기 어렵습니다. 위의 설명을 완화하기 위해 확장된 경계 상자, 타원 및 일반 다각형 디자인을 극/각 표현으로 탐색하고 인스턴스 분할 mIOU 메트릭을 정의하여 이러한 표현을 분석합니다. 제안된 다각형 형태의 모델 fisheyeDetNet은 다른 모델보다 성능이 뛰어나며 동시에 자율 주행을 위한 Valeo fisheye 카메라 데이터 세트에서 49.5% mAP를 달성합니다.

공장에서 일하는 테슬라 로봇, 머스크 : 올해 손의 자유도가 22도에 달할 것! 공장에서 일하는 테슬라 로봇, 머스크 : 올해 손의 자유도가 22도에 달할 것! May 06, 2024 pm 04:13 PM

테슬라의 로봇 옵티머스(Optimus)의 최신 영상이 공개됐는데, 이미 공장에서 작동이 가능한 상태다. 정상 속도에서는 배터리(테슬라의 4680 배터리)를 다음과 같이 분류합니다. 공식은 또한 20배 속도로 보이는 모습을 공개했습니다. 작은 "워크스테이션"에서 따고 따고 따고 : 이번에 출시됩니다. 영상에는 옵티머스가 공장에서 이 작업을 전 과정에 걸쳐 사람의 개입 없이 완전히 자율적으로 완료하는 모습이 담겨 있습니다. 그리고 Optimus의 관점에서 보면 자동 오류 수정에 중점을 두고 구부러진 배터리를 집어 넣을 수도 있습니다. NVIDIA 과학자 Jim Fan은 Optimus의 손에 대해 높은 평가를 했습니다. Optimus의 손은 세계의 다섯 손가락 로봇 중 하나입니다. 가장 능숙합니다. 손은 촉각적일 뿐만 아니라

DualBEV: BEVFormer 및 BEVDet4D를 크게 능가하는 책을 펼치세요! DualBEV: BEVFormer 및 BEVDet4D를 크게 능가하는 책을 펼치세요! Mar 21, 2024 pm 05:21 PM

본 논문에서는 자율 주행에서 다양한 시야각(예: 원근 및 조감도)에서 객체를 정확하게 감지하는 문제, 특히 원근(PV) 공간에서 조감(BEV) 공간으로 기능을 효과적으로 변환하는 방법을 탐구합니다. VT(Visual Transformation) 모듈을 통해 구현됩니다. 기존 방법은 크게 2D에서 3D로, 3D에서 2D로 변환하는 두 가지 전략으로 나뉩니다. 2D에서 3D로의 방법은 깊이 확률을 예측하여 조밀한 2D 특징을 개선하지만, 특히 먼 영역에서는 깊이 예측의 본질적인 불확실성으로 인해 부정확성이 발생할 수 있습니다. 3D에서 2D로의 방법은 일반적으로 3D 쿼리를 사용하여 2D 기능을 샘플링하고 Transformer를 통해 3D와 2D 기능 간의 대응에 대한 주의 가중치를 학습하므로 계산 및 배포 시간이 늘어납니다.

See all articles