Phase 00 - Lesson 14

Fracoes e Divisao

This lesson includes a graded coding exercise that runs in your browser, unlocked with lifetime access.

Uma fracao nao e uma coisa nova. Uma fracao E uma divisao, escrita com o sinal de dividir virado de lado.

Tipo: Aprender Linguagens: Python Pre-requisitos: As Quatro Operacoes e a Ordem (00-13) Tempo: ~30 minutos

Objetivos de Aprendizagem

  • Ver que a fracao a/b e exatamente a divisao a dividido por b
  • Converter uma fracao em decimal fazendo a divisao
  • Ler um decimal como "quanto de um inteiro"
  • Calcular 34/128 e explicar o que significam 0.266 bytes por peso

O Conceito

Voce ja conhece a divisao da licao 00-13. Uma fracao e a mesma operacao usando uma fantasia diferente.

3/4   significa   3 dividido por 4

A linha no meio e um sinal de divisao. O numero de cima (numerador) e o que e dividido. O numero de baixo (denominador) e por quanto voce divide. Essa e toda a definicao. Nao ha mais nada em uma fracao.

Uma fracao e uma divisao que voce ainda nao fez

3/4 e uma divisao em pausa. Voce pode deixa-la em pausa (util quando quer um valor exato) ou pode apertar o play e obter um decimal:

3 / 4 = 0.75

Ambos sao a mesma quantidade. 3/4 e 0.75 sao duas grafias de "tres quartos de um inteiro".

Lendo um decimal

Um decimal responde "quanto de um inteiro eu tenho?".

  • 0.75 e a maior parte de um inteiro (tres quartos).
  • 0.5 e exatamente metade.
  • 0.266 e cerca de um quarto, um pouco mais.
  • 1.75 e um inteiro mais tres quartos.

Os digitos depois do ponto sao pedacos de um. A primeira casa e decimos (1/10), a seguinte e centesimos (1/100), e assim por diante. Entao 0.75 e 7 decimos mais 5 centesimos.

Por que dividir por um fundo maior da um numero menor

Se voce divide 3 biscoitos entre 4 pessoas, cada uma recebe menos de um biscoito (0.75). Divida os mesmos 3 biscoitos entre 100 pessoas e cada uma recebe quase nada (0.03). Denominador maior, parte menor. Essa intuicao importa na proxima licao sobre razoes.

Exemplo resolvido: bytes por peso

O NeuroGrid empacota 128 pesos ternarios em um bloco que custa 34 bytes de armazenamento. Quantos bytes um peso custa em media? Isso e uma fracao, que e uma divisao:

34 / 128 = 0.265625

Entao cada peso ternario custa cerca de 0.266 bytes. Compare com um peso normal de 16 bits, que custa 2 bytes (16 bits / 8 bits-por-byte). O peso ternario e cerca de 0.266 / 2, mais ou menos um oitavo, do armazenamento. Essa unica fracao e o motivo de o modelo caber onde outros nao cabem.

Pratica de memoria

Produza o decimal voce mesmo. Mais facil primeiro.

  1. 1/2 como decimal = ?
  2. 1/4 como decimal = ?
  3. 34/128 como decimal = ? (faca a divisao)

Respostas: 0.5; 0.25; 0.265625 (cerca de 0.266).

Alerta de equivoco

A armadilha e pensar que uma fracao e um "par de numeros" em vez de um numero. 3/4 e um unico valor, 0.75. Sempre que uma fracao parecer confusa, faca a divisao e leia o decimal. A fracao e o decimal nunca sao duas quantidades diferentes.

Construa

python phases/00-setup-and-tooling/14-fractions-and-division/code/fractions.py

Por que isso importa para IA

Bytes por peso, razao de compressao, fracao de parametros treinados, fracao de acuracia recuperada: tudo isso sao fracoes, que sao todas divisoes. Os numeros de destaque "1.58 bits" e "0.266 bytes" sao fracoes que voce agora pode calcular a mao. Decimais sao como cada um desses e reportado.

0 lifetime access. Curriculum based on AI Engineering from Scratch by Rohit Ghumare (MIT, used under attribution).