Prompt engineering

āļāļēāļĢāđ€āļĢāđˆāļ‡āļ„āļ§āļēāļĄāđ€āļĢāđ‡āļ§āđƒāļ™āļāļēāļĢāļ­āļ™āļļāļĄāļēāļ™āđ‚āļĄāđ€āļ”āļĨāļ āļēāļĐāļēāļ‚āļ™āļēāļ”āđƒāļŦāļāđˆ: āđ€āļ—āļ„āļ™āļīāļ„āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™āļ—āļĩāđˆāļĄāļĩāļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļž

mm
āđ€āļžāļīāđˆāļĄ Unite.AI āļĨāļ‡āđƒāļ™āđāļŦāļĨāđˆāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāļ—āļĩāđˆāļ„āļļāļ“āļ•āđ‰āļ­āļ‡āļāļēāļĢāļšāļ™ Google
LLM Inference Speed up

āđ‚āļĄāđ€āļ”āļĨāļ āļēāļĐāļēāļ‚āļ™āļēāļ”āđƒāļŦāļāđˆ (LLMs) āđ€āļŠāđˆāļ™ GPT-4, LLaMA āđāļĨāļ° PaLM āļāļģāļĨāļąāļ‡āļœāļĨāļąāļāļ”āļąāļ™āļ‚āļ­āļšāđ€āļ‚āļ•āļ‚āļ­āļ‡āļŠāļīāđˆāļ‡āļ—āļĩāđˆāđ€āļ›āđ‡āļ™āđ„āļ›āđ„āļ”āđ‰āļāļąāļšāļāļēāļĢāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāļ āļēāļĐāļēāļ˜āļĢāļĢāļĄāļŠāļēāļ•āļī (NLP) āļ­āļĒāđˆāļēāļ‡āđ„āļĢāļāđ‡āļ•āļēāļĄ āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™āđ‚āļĄāđ€āļ”āļĨāđ€āļŦāļĨāđˆāļēāļ™āļĩāđ‰āđƒāļ™production environments āļ™āļģāđ€āļŠāļ™āļ­āļ„āļ§āļēāļĄāļ—āđ‰āļēāļ—āļēāļĒāļ—āļĩāđˆāļŠāļģāļ„āļąāļāđƒāļ™āđāļ‡āđˆāļ‚āļ­āļ‡āļ„āļ§āļēāļĄāļ•āđ‰āļ­āļ‡āļāļēāļĢāļāļēāļĢāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨ āļ„āļ§āļēāļĄāđƒāļŠāđ‰āļŦāļ™āđˆāļ§āļĒāļ„āļ§āļēāļĄāļˆāļģ āļ„āļ§āļēāļĄāļŦāļ™āđˆāļ§āļ‡ āđāļĨāļ°āļ•āđ‰āļ™āļ—āļļāļ™ āđ€āļĄāļ·āđˆāļ­ LLMs āļĒāļąāļ‡āļ„āļ‡āđ€āļ•āļīāļšāđ‚āļ•āļ‚āļ™āļēāļ”āđƒāļŦāļāđˆāļ‚āļķāđ‰āļ™āđāļĨāļ°āļŠāļēāļĄāļēāļĢāļ–āļ—āļģāđ„āļ”āđ‰āļĄāļēāļāļ‚āļķāđ‰āļ™ āļāļēāļĢāđ€āļžāļīāđˆāļĄāļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļžāļāļēāļĢāļ­āļ™āļļāļĄāļēāļ™āļ‚āļ­āļ‡āļžāļ§āļāļĄāļąāļ™āļˆāļķāļ‡āļĄāļĩāļ„āļ§āļēāļĄāļŠāļģāļ„āļąāļāļ•āđˆāļ­āļāļēāļĢāļ›āļĢāļ°āļĒāļļāļāļ•āđŒāđƒāļŠāđ‰āļˆāļĢāļīāļ‡

āđƒāļ™āļšāļ—āļ„āļ§āļēāļĄāļ™āļĩāđ‰ āđ€āļĢāļēāļˆāļ°āļŠāļģāļĢāļ§āļˆāđ€āļ—āļ„āļ™āļīāļ„āļ—āļĩāđˆāļ—āļąāļ™āļŠāļĄāļąāļĒāļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāđ€āļĢāđˆāļ‡āļ„āļ§āļēāļĄāđ€āļĢāđ‡āļ§āđƒāļ™āļāļēāļĢāļ­āļ™āļļāļĄāļēāļ™ LLMs āļ‹āļķāđˆāļ‡āļŠāđˆāļ§āļĒāđƒāļŦāđ‰āļŠāļēāļĄāļēāļĢāļ–āļ•āļ­āļšāļŠāļ™āļ­āļ‡āđ„āļ”āđ‰āđ€āļĢāđ‡āļ§āļ‚āļķāđ‰āļ™ āļĄāļĩāļāļēāļĢāđƒāļŠāđ‰āļ—āļĢāļąāļžāļĒāļēāļāļĢāļŪāļēāļĢāđŒāļ”āđāļ§āļĢāđŒāļ—āļĩāđˆāļĄāļĩāļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļžāļĄāļēāļāļ‚āļķāđ‰āļ™ āđāļĨāļ°āļĄāļĩāļāļēāļĢāđƒāļŠāđ‰āļ—āļĢāļąāļžāļĒāļēāļāļĢāļ—āļĩāđˆāļĄāļĩāļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļžāļĄāļēāļāļ‚āļķāđ‰āļ™ āđ€āļĢāļēāļˆāļ°āļ„āļĢāļ­āļšāļ„āļĨāļļāļĄāļ§āļīāļ˜āļĩāļāļēāļĢāļ•āļąāđ‰āļ‡āđāļ•āđˆāđ€āļ—āļ„āļ™āļīāļ„āļ„āļ§āļēāļĄāđāļĄāđˆāļ™āļĒāļģāļ—āļēāļ‡āļ„āļ“āļīāļ•āļĻāļēāļŠāļ•āļĢāđŒ āđāļĨāļ°āļāļĨāđ„āļāļ„āļ§āļēāļĄāļŠāļ™āđƒāļˆāđƒāļŦāļĄāđˆāđ† āđ„āļ›āļˆāļ™āļ–āļķāļ‡āļ™āļ§āļąāļ•āļāļĢāļĢāļĄāļ—āļēāļ‡āļŠāļ–āļēāļ›āļąāļ•āļĒāļāļĢāļĢāļĄāļ—āļĩāđˆāļ­āļ­āļāđāļšāļšāļĄāļēāđ‚āļ”āļĒāđ€āļ‰āļžāļēāļ°āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļ—āļĩāđˆāļĄāļĩāļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļž

āļĄāļēāđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™āļ”āđ‰āļ§āļĒāļāļēāļĢāļ—āļģāļ„āļ§āļēāļĄāđ€āļ‚āđ‰āļēāđƒāļˆāļ§āđˆāļēāļ—āļģāđ„āļĄāļāļēāļĢāļ­āļ™āļļāļĄāļēāļ™ LLMs āļˆāļķāļ‡āļ—āđ‰āļēāļ—āļēāļĒāļāļ§āđˆāļēāđ‚āļĄāđ€āļ”āļĨ NLP āđāļšāļšāļ”āļąāđ‰āļ‡āđ€āļ”āļīāļĄ

āļ„āļ§āļēāļĄāļ—āđ‰āļēāļ—āļēāļĒāđƒāļ™āļāļēāļĢāļ­āļ™āļļāļĄāļēāļ™āļ‚āļ­āļ‡āđ‚āļĄāđ€āļ”āļĨāļ āļēāļĐāļēāļ‚āļ™āļēāļ”āđƒāļŦāļāđˆ

āļāđˆāļ­āļ™āļ—āļĩāđˆāļˆāļ°āļĄāļĩ LLMs āļāļēāļĢāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāļ āļēāļĐāļēāļ˜āļĢāļĢāļĄāļŠāļēāļ•āļīāļ‚āļķāđ‰āļ™āļ­āļĒāļđāđˆāļāļąāļšāđ‚āļĄāđ€āļ”āļĨāļ—āļĩāđˆāđ€āļĨāđ‡āļāļāļ§āđˆāļēāļ‹āļķāđˆāļ‡āļĄāļļāđˆāļ‡āđ€āļ™āđ‰āļ™āđ„āļ›āļ—āļĩāđˆāļ‡āļēāļ™āđ€āļ‰āļžāļēāļ° āđ€āļŠāđˆāļ™ āļāļēāļĢāļˆāļģāđāļ™āļāļ›āļĢāļ°āđ€āļ āļ—āļ‚āđ‰āļ­āļ„āļ§āļēāļĄ āļāļēāļĢāļ•āļĢāļ°āļŦāļ™āļąāļāļ–āļķāļ‡āļŠāļ·āđˆāļ­āļ‚āļ­āļ‡āļŦāļ™āđˆāļ§āļĒ āđāļĨāļ°āļāļēāļĢāļ§āļīāđ€āļ„āļĢāļēāļ°āļŦāđŒāļ„āļ§āļēāļĄāļĢāļđāđ‰āļŠāļķāļ āđāļĄāđ‰āļ§āđˆāļēāđ‚āļĄāđ€āļ”āļĨāđ€āļŦāļĨāđˆāļēāļ™āļĩāđ‰āļˆāļ°āđƒāļŠāđ‰āļāļēāļĢāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāļĄāļēāļ āđāļ•āđˆāļāđ‡āļŠāļēāļĄāļēāļĢāļ–āđƒāļŠāđ‰āļ‡āļēāļ™āđ„āļ”āđ‰āļšāļ™āļŪāļēāļĢāđŒāļ”āđāļ§āļĢāđŒāļ—āļĩāđˆāļĄāļĩāļ‚āļ™āļēāļ”āļ„āđˆāļ­āļ™āļ‚āđ‰āļēāļ‡āļ™āđ‰āļ­āļĒ āđāļĨāļ°āļĄāļĩāļāļĢāļ°āļšāļ§āļ™āļāļēāļĢāļ­āļ™āļļāļĄāļēāļ™āļ—āļĩāđˆāļ„āđˆāļ­āļ™āļ‚āđ‰āļēāļ‡āļ•āļĢāļ‡āđ„āļ›āļ•āļĢāļ‡āļĄāļē

LLMs āļ­āļĩāļāļāđˆāļēāļĒāļŦāļ™āļķāđˆāļ‡āđāļŠāļ”āļ‡āļ–āļķāļ‡āļāļēāļĢāđ€āļ›āļĨāļĩāđˆāļĒāļ™āđāļ›āļĨāļ‡āļ‚āļ­āļ‡āļžāļēāļĢāļēāđ„āļ”āļĄāđŒ āđ‚āļĄāđ€āļ”āļĨāđ€āļŦāļĨāđˆāļēāļ™āļĩāđ‰āđ„āļ”āđ‰āļĢāļąāļšāļāļēāļĢāļāļķāļāļāļ™āļšāļ™āđ€āļ‹āļ•āļ‚āđ‰āļ­āļĄāļđāļĨāļ‚āļ™āļēāļ”āđƒāļŦāļāđˆāđ‚āļ”āļĒāđƒāļŠāđ‰āļžāļēāļĢāļēāļĄāļīāđ€āļ•āļ­āļĢāđŒāļŦāļĨāļēāļĒāļžāļąāļ™āļĨāđ‰āļēāļ™ āļ—āļģāđƒāļŦāđ‰āļŠāļēāļĄāļēāļĢāļ–āļ—āļģāļ‡āļēāļ™āđ„āļ”āđ‰āļŦāļĨāļēāļāļŦāļĨāļēāļĒāļ‡āļēāļ™āļ āļēāļĐāļēāđ‚āļ”āļĒāļĄāļĩāļ„āļ§āļēāļĄāļŠāļēāļĄāļēāļĢāļ–āļ—āļĩāđˆāļ™āđˆāļēāļ›āļĢāļ°āļ—āļąāļšāđƒāļˆ āļ­āļĒāđˆāļēāļ‡āđ„āļĢāļāđ‡āļ•āļēāļĄ āļ„āļ§āļēāļĄāļŠāļēāļĄāļēāļĢāļ–āļ™āļĩāđ‰āļĄāļēāļžāļĢāđ‰āļ­āļĄāļāļąāļšāļ•āđ‰āļ™āļ—āļļāļ™ â€“ āļ„āļ§āļēāļĄāļ•āđ‰āļ­āļ‡āļāļēāļĢāļāļēāļĢāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāļ—āļĩāđˆāđ€āļžāļīāđˆāļĄāļ‚āļķāđ‰āļ™āļ­āļĒāđˆāļēāļ‡āļĄāļēāļāđƒāļ™āļŠāđˆāļ§āļ‡āļāļēāļĢāļāļķāļāđāļĨāļ°āļāļēāļĢāļ­āļ™āļļāļĄāļēāļ™

āļŦāļ™āļķāđˆāļ‡āđƒāļ™āļāļēāļĢāļ—āđ‰āļēāļ—āļēāļĒāļŦāļĨāļąāļāļ„āļ·āļ­āļĨāļąāļāļĐāļ“āļ°āļāļēāļĢāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāđāļšāļšāļ­āļąāļ•āđ‚āļ™āļĄāļąāļ•āļīāļ‚āļ­āļ‡ LLMs āđ€āļžāļ·āđˆāļ­āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļ—āļĩāđˆāđ€āļŦāļĄāļ·āļ­āļ™āļĄāļ™āļļāļĐāļĒāđŒ āđ‚āļĄāđ€āļ”āļĨāđ€āļŦāļĨāđˆāļēāļ™āļĩāđ‰āļ„āļēāļ”āļāļēāļĢāļ“āđŒāļ•āļąāļ§āļ­āļąāļāļĐāļĢ (āļ„āļģāļŦāļĢāļ·āļ­āļŠāđˆāļ§āļ™āļ„āļģ) āļŦāļ™āļķāđˆāļ‡āļ•āļąāļ§āļ•āđˆāļ­āļ„āļĢāļąāđ‰āļ‡ āđ‚āļ”āļĒāļ—āļĩāđˆāđāļ•āđˆāļĨāļ°āļ•āļąāļ§āļ­āļąāļāļĐāļĢāđƒāļŦāļĄāđˆāļ‚āļķāđ‰āļ™āļ­āļĒāļđāđˆāļāļąāļšāđ€āļ­āļēāļ•āđŒāļžāļļāļ•āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āļķāđ‰āļ™āļāđˆāļ­āļ™āļŦāļ™āđ‰āļēāļ™āļĩāđ‰ āļ„āļ§āļēāļĄāļžāļķāđˆāļ‡āļžāļēāļ™āļĩāđ‰āļ—āļģāđƒāļŦāđ‰āļāļēāļĢāļ‚āļ™āļēāļ™āđāļšāđˆāļ‡āđ„āļĄāđˆāđ„āļ”āđ‰āđāļĨāļ°āļ—āļģāđƒāļŦāđ‰āļ„āļ§āļēāļĄāļ•āđ‰āļ­āļ‡āļāļēāļĢāļāļēāļĢāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāđ€āļžāļīāđˆāļĄāļ‚āļķāđ‰āļ™āļ•āļēāļĄāļĨāļģāļ”āļąāļšāļ‚āļ­āļ‡āļ„āļ§āļēāļĄāļĒāļēāļ§āļ‚āļ­āļ‡āļĨāļģāļ”āļąāļš

āļ™āļ­āļāļˆāļēāļāļ™āļĩāđ‰ LLMs āļĄāļąāļāļ•āđ‰āļ­āļ‡āļāļēāļĢāļĨāļģāļ”āļąāļšāļ­āļīāļ™āļžāļļāļ•āļ—āļĩāđˆāļĒāļēāļ§ (āļ„āļģāđāļ™āļ°āļ™āļģ) āđ€āļžāļ·āđˆāļ­āļŠāļĢāđ‰āļēāļ‡āļšāļĢāļīāļšāļ—āļ—āļĩāđˆāļˆāļģāđ€āļ›āđ‡āļ™āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļ—āļĩāđˆāļĄāļĩāļ„āļļāļ“āļ āļēāļžāļŠāļđāļ‡ āļ„āļ§āļēāļĄāļĒāļēāļ§āļ­āļīāļ™āļžāļļāļ•āļ—āļĩāđˆāļĒāļēāļ§āļ‚āļķāđ‰āļ™āļ•āđ‰āļ­āļ‡āļāļēāļĢāļŦāļ™āđˆāļ§āļĒāļ„āļ§āļēāļĄāļˆāļģāļĄāļēāļāļ‚āļķāđ‰āļ™āđƒāļ™āļāļēāļĢāļˆāļąāļ”āđ€āļāđ‡āļšāļŠāļ–āļēāļ™āļ°āđāļĨāļ°āđ€āļĄāļ—āļĢāļīāļāļ‹āđŒāļ„āļ§āļēāļĄāļŠāļ™āđƒāļˆ āļ—āļģāđƒāļŦāđ‰āļ—āļĢāļąāļžāļĒāļēāļāļĢāļŪāļēāļĢāđŒāļ”āđāļ§āļĢāđŒāļŦāļ™āļąāļāļ‚āļķāđ‰āļ™

āļ”āđ‰āļ§āļĒāļ„āļ§āļēāļĄāļ—āđ‰āļēāļ—āļēāļĒāđ€āļŦāļĨāđˆāļēāļ™āļĩāđ‰ āđ€āļ—āļ„āļ™āļīāļ„āļāļēāļĢāđ€āļžāļīāđˆāļĄāļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļžāđāļšāļšāļ”āļąāđ‰āļ‡āđ€āļ”āļīāļĄ āđ€āļŠāđˆāļ™ āļāļēāļĢāļ›āļĢāļąāļšāļ‚āļ™āļēāļ”āđāļĨāļ°āļāļēāļĢāļ„āļģāļ™āļ§āļ“āļāļĢāļēāļŸāđāļšāļšāļ„āļ‡āļ—āļĩāđˆ āļ­āļēāļˆāđ„āļĄāđˆāđ€āļžāļĩāļĒāļ‡āļžāļ­āđƒāļ™āļāļēāļĢāļĢāļąāļāļĐāļēāļ„āļ§āļēāļĄāļŠāļēāļĄāļēāļĢāļ–āļ‚āļ­āļ‡ LLMs āđƒāļ™āļ‚āļ“āļ°āđ€āļ”āļĩāļĒāļ§āļāļąāļ™āļāđ‡āđƒāļŦāđ‰āļ„āļ§āļēāļĄāđ€āļĢāđ‡āļ§āļ—āļĩāđˆāļĄāļĩāļ„āļ§āļēāļĄāļŦāļĄāļēāļĒ

āļĄāļēāđ€āļĢāļīāđˆāļĄāļ”āđ‰āļ§āļĒāļāļĨāļĒāļļāļ—āļ˜āđŒāļŦāļĨāļąāļāđ† āļ—āļĩāđˆāļ­āļ­āļāđāļšāļšāļĄāļēāđ‚āļ”āļĒāđ€āļ‰āļžāļēāļ°āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāđ€āļĢāđˆāļ‡āļ„āļ§āļēāļĄāđ€āļĢāđ‡āļ§āđƒāļ™āļāļēāļĢāļ­āļ™āļļāļĄāļēāļ™ LLMs

āđ€āļ—āļ„āļ™āļīāļ„āļ„āļ§āļēāļĄāđāļĄāđˆāļ™āļĒāļģāļ—āļēāļ‡āļ„āļ“āļīāļ•āļĻāļēāļŠāļ•āļĢāđŒ

From 32-Bit to 16-Bit Precision

From 32-Bit to 16-Bit Precision

āļŦāļ™āļķāđˆāļ‡āļ—āļēāļ‡āđ€āļĨāļ·āļ­āļāđƒāļ™āļāļēāļĢāđ€āļĢāđˆāļ‡āļ„āļ§āļēāļĄāđ€āļĢāđ‡āļ§āđƒāļ™āļāļēāļĢāļ­āļ™āļļāļĄāļēāļ™ LLMs āļ„āļ·āļ­āļāļēāļĢāđƒāļŠāđ‰āļ„āļ§āļēāļĄāđāļĄāđˆāļ™āļĒāļģāļ—āļēāļ‡āļ„āļ“āļīāļ•āļĻāļēāļŠāļ•āļĢāđŒāļ—āļĩāđˆāļĨāļ”āļĨāļ‡āļŠāļģāļŦāļĢāļąāļšāļ™āđ‰āļģāļŦāļ™āļąāļāđāļĨāļ°āļāļĢāļ°āļšāļ§āļ™āļāļēāļĢāļ‚āļ­āļ‡āđ‚āļĄāđ€āļ”āļĨ āđāļŸāļĢāļĄāđ€āļ§āļīāļĢāđŒāļāļāļēāļĢāđ€āļĢāļĩāļĒāļ™āļĢāļđāđ‰āđ€āļŠāļīāļ‡āļĨāļķāļāļŠāļĄāļąāļĒāđƒāļŦāļĄāđˆ āđ€āļŠāđˆāļ™ PyTorch āđāļĨāļ° TensorFlow āđ‚āļ”āļĒāļ—āļąāđˆāļ§āđ„āļ›āđƒāļŠāđ‰āļ„āļ§āļēāļĄāđāļĄāđˆāļ™āļĒāļģāļˆāļļāļ”āļĨāļ­āļĒ 32 āļšāļīāļ• (FP32) āđ‚āļ”āļĒāļ„āđˆāļēāđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™ āļ­āļĒāđˆāļēāļ‡āđ„āļĢāļāđ‡āļ•āļēāļĄ āļāļēāļĢāļ§āļīāļˆāļąāļĒāđ„āļ”āđ‰āđāļŠāļ”āļ‡āđƒāļŦāđ‰āđ€āļŦāđ‡āļ™āļ§āđˆāļē LLMs āļŠāļēāļĄāļēāļĢāļ–āļĢāļąāļāļĐāļēāļ„āļ§āļēāļĄāđāļĄāđˆāļ™āļĒāļģāļŠāļđāļ‡āđ„āļ”āđ‰āđāļĄāđ‰āļˆāļ°āļ—āļģāļ‡āļēāļ™āļ—āļĩāđˆāļ„āļ§āļēāļĄāđāļĄāđˆāļ™āļĒāļģāļ—āļĩāđˆāļ•āđˆāļģāļāļ§āđˆāļē āđ€āļŠāđˆāļ™ 16 āļšāļīāļ• (FP16), 8 āļšāļīāļ•āļˆāļģāļ™āļ§āļ™āđ€āļ•āđ‡āļĄ (INT8) āļŦāļĢāļ·āļ­āđāļĄāđ‰āļāļĢāļ°āļ—āļąāđˆāļ‡ 4 āļšāļīāļ•āļˆāļģāļ™āļ§āļ™āđ€āļ•āđ‡āļĄ (INT4)

āļāļēāļĢāļĨāļ”āļ„āļ§āļēāļĄāđāļĄāđˆāļ™āļĒāļģāļ—āļēāļ‡āļ„āļ“āļīāļ•āļĻāļēāļŠāļ•āļĢāđŒāđƒāļŦāđ‰āļ›āļĢāļ°āđ‚āļĒāļŠāļ™āđŒāļŦāļĨāļēāļĒāļ›āļĢāļ°āļāļēāļĢ:

  • āļāļēāļĢāļĨāļ”āļ‚āļ™āļēāļ”āļŦāļ™āđˆāļ§āļĒāļ„āļ§āļēāļĄāļˆāļģ: āļāļēāļĢāđāļŠāļ”āļ‡āļœāļĨāļ—āļĩāđˆāļĄāļĩāļ„āļ§āļēāļĄāđāļĄāđˆāļ™āļĒāļģāļ•āđˆāļģāļāļ§āđˆāļēāļ•āđ‰āļ­āļ‡āļāļēāļĢāļŦāļ™āđˆāļ§āļĒāļ„āļ§āļēāļĄāļˆāļģāļ™āđ‰āļ­āļĒāļāļ§āđˆāļē āļ—āļģāđƒāļŦāđ‰āļŠāļēāļĄāļēāļĢāļ–āđƒāļŠāđ‰āđ‚āļĄāđ€āļ”āļĨāļ—āļĩāđˆāđƒāļŦāļāđˆāļ‚āļķāđ‰āļ™āļŦāļĢāļ·āļ­āļ‚āļ™āļēāļ”āđāļšāļ•āļŠāđŒāļ—āļĩāđˆāđƒāļŦāļāđˆāļ‚āļķāđ‰āļ™āļ āļēāļĒāđƒāļ™āļ‚āđ‰āļ­āļˆāļģāļāļąāļ”āļŪāļēāļĢāđŒāļ”āđāļ§āļĢāđŒāđ€āļ”āļĩāļĒāļ§āļāļąāļ™
  • āļāļēāļĢāļ„āļģāļ™āļ§āļ“āļ—āļĩāđˆāđ€āļĢāđ‡āļ§āļ‚āļķāđ‰āļ™: CPU āđāļĨāļ° GPU āļĢāļļāđˆāļ™āđƒāļŦāļĄāđˆāļŦāļĨāļēāļĒāļĢāļļāđˆāļ™āđƒāļŦāđ‰āļ„āļģāļŠāļąāđˆāļ‡āđāļĨāļ°āļŪāļēāļĢāđŒāļ”āđāļ§āļĢāđŒāđ€āļĢāđˆāļ‡āļ„āļ§āļēāļĄāđ€āļĢāđ‡āļ§āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļ„āļģāļ™āļ§āļ“āļ„āļ§āļēāļĄāđāļĄāđˆāļ™āļĒāļģāļ•āđˆāļģ āļ—āļģāđƒāļŦāđ‰āļŠāļēāļĄāļēāļĢāļ–āđ€āļĢāđˆāļ‡āļ„āļ§āļēāļĄāđ€āļĢāđ‡āļ§āđ„āļ”āđ‰āļĄāļēāļ
  • āļāļēāļĢāđ€āļžāļīāđˆāļĄāļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļžāļžāļĨāļąāļ‡āļ‡āļēāļ™: āļ”āđ‰āļ§āļĒāļ„āļ§āļēāļĄāļ•āđ‰āļ­āļ‡āļāļēāļĢāļŦāļ™āđˆāļ§āļĒāļ„āļ§āļēāļĄāļˆāļģāļ—āļĩāđˆāļ™āđ‰āļ­āļĒāļĨāļ‡āđāļĨāļ°āļāļēāļĢāļ„āļģāļ™āļ§āļ“āļ—āļĩāđˆāđ€āļĢāđ‡āļ§āļ‚āļķāđ‰āļ™ āļāļēāļĢāļ­āļ™āļļāļĄāļēāļ™āļ—āļĩāđˆāļĄāļĩāļ„āļ§āļēāļĄāđāļĄāđˆāļ™āļĒāļģāļ•āđˆāļģāļāļ§āđˆāļēāļŠāļēāļĄāļēāļĢāļ–āđāļ›āļĨāđ€āļ›āđ‡āļ™āļāļēāļĢāđƒāļŠāđ‰āļžāļĨāļąāļ‡āļ‡āļēāļ™āļ—āļĩāđˆāļĨāļ”āļĨāļ‡ â€“ āļŠāļīāđˆāļ‡āļ—āļĩāđˆāļŠāļģāļ„āļąāļāļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™āđāļšāļšāđ€āļ­āļ”āļˆāđŒāđāļĨāļ°āļĄāļ·āļ­āļ–āļ·āļ­

āđƒāļ™āļ‚āļ“āļ°āļ—āļĩāđˆāđ€āļ—āļ„āļ™āļīāļ„āļ„āļ§āļēāļĄāđāļĄāđˆāļ™āļĒāļģāļ—āļēāļ‡āļ„āļ“āļīāļ•āļĻāļēāļŠāļ•āļĢāđŒāđ€āļ›āđ‡āļ™āļžāļĨāļąāļ‡āļ‡āļēāļ™ āđāļ•āđˆāļāđ‡āđāļ™āļ°āļ™āļģāļ„āļ§āļēāļĄāļŠāļđāļāđ€āļŠāļĩāļĒāļ„āļ§āļēāļĄāđāļĄāđˆāļ™āļĒāļģāļšāļēāļ‡āļŠāđˆāļ§āļ™āđ€āļĄāļ·āđˆāļ­āđ€āļ—āļĩāļĒāļšāļāļąāļšāļāļēāļĢāļ—āļģāļ‡āļēāļ™ FP32 āļŠāļīāđˆāļ‡āļŠāļģāļ„āļąāļāļ„āļ·āļ­āļāļēāļĢāļ›āļĢāļ°āđ€āļĄāļīāļ™āļāļēāļĢāļ‹āļ·āđ‰āļ­āļ‚āļēāļĒāļĢāļ°āļŦāļ§āđˆāļēāļ‡āļāļēāļĢāđ€āļžāļīāđˆāļĄāļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļžāļāļēāļĢāļ„āļģāļ™āļ§āļ“āđāļĨāļ°āļ„āļ§āļēāļĄāđ€āļŠāļ·āđˆāļ­āļĄāļŠāļ āļēāļžāļ‚āļ­āļ‡āļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļžāļ—āļĩāđˆāļ­āļēāļˆāđ€āļāļīāļ”āļ‚āļķāđ‰āļ™āļŠāļģāļŦāļĢāļąāļšāļāļĢāļ“āļĩāļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™āđ€āļ‰āļžāļēāļ°āļ‚āļ­āļ‡āļ„āļļāļ“

āļĄāļĩāđāļ™āļ§āļ—āļēāļ‡āļŦāļĨāļąāļāļŠāļ­āļ‡āļ§āļīāļ˜āļĩāđƒāļ™āļāļēāļĢāļ›āļĢāļąāļšāļ‚āļ™āļēāļ” LLMs:

āļāļēāļĢāļ›āļĢāļąāļšāļ‚āļ™āļēāļ”āļŦāļĨāļąāļ‡āļāļēāļĢāļāļķāļ (PTQ): āđƒāļ™āļ§āļīāļ˜āļĩāļ™āļĩāđ‰ LLM āļˆāļ°āļ–āļđāļāļāļķāļāđ‚āļ”āļĒāđƒāļŠāđ‰āļ„āļ§āļēāļĄāđāļĄāđˆāļ™āļĒāļģ FP32 āļĄāļēāļ•āļĢāļāļēāļ™ āļŦāļĨāļąāļ‡āļˆāļēāļāļāļēāļĢāļāļķāļ āļ™āđ‰āļģāļŦāļ™āļąāļāļ‚āļ­āļ‡āđ‚āļĄāđ€āļ”āļĨāļˆāļ°āļ–āļđāļāļ›āļĢāļąāļšāļ‚āļ™āļēāļ” (āđāļ›āļĨāļ‡) āđ€āļ›āđ‡āļ™āļĢāļđāļ›āđāļšāļšāļ„āļ§āļēāļĄāđāļĄāđˆāļ™āļĒāļģāļ—āļĩāđˆāļ•āđˆāļģāļāļ§āđˆāļē āđ€āļŠāđˆāļ™ INT8 āļŦāļĢāļ·āļ­ INT4 PTQ āđ€āļ›āđ‡āļ™āļ§āļīāļ˜āļĩāļ—āļĩāđˆāļ•āļĢāļ‡āđ„āļ›āļ•āļĢāļ‡āļĄāļēāđƒāļ™āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™ āđāļ•āđˆāļ­āļēāļˆāļ™āļģāđ„āļ›āļŠāļđāđˆāļāļēāļĢāļĨāļ”āļ„āļ§āļēāļĄāđāļĄāđˆāļ™āļĒāļģāļ—āļĩāđˆāļĄāļēāļāļ‚āļķāđ‰āļ™

āļāļēāļĢāļāļķāļāļ—āļĩāđˆāļ•āļĢāļ°āļŦāļ™āļąāļāļ–āļķāļ‡āļāļēāļĢāļ›āļĢāļąāļšāļ‚āļ™āļēāļ” (QAT): āļ”āđ‰āļ§āļĒ QAT āļāļēāļĢāļ›āļĢāļąāļšāļ‚āļ™āļēāļ”āļˆāļ°āļ–āļđāļāļˆāļģāļĨāļ­āļ‡āļĢāļ°āļŦāļ§āđˆāļēāļ‡āļŠāđˆāļ§āļ‡āļāļēāļĢāļāļķāļ āđ‚āļĄāđ€āļ”āļĨāļˆāļ°āđ€āļĢāļĩāļĒāļ™āļĢāļđāđ‰āļ—āļĩāđˆāļˆāļ°āļŠāļ”āđ€āļŠāļĒāļ‚āđ‰āļ­āļœāļīāļ”āļžāļĨāļēāļ”āļāļēāļĢāļ›āļĢāļąāļšāļ‚āļ™āļēāļ” āļĨāļ”āļāļēāļĢāđ€āļŠāļ·āđˆāļ­āļĄāļŠāļ āļēāļžāļ‚āļ­āļ‡āļ„āļ§āļēāļĄāđāļĄāđˆāļ™āļĒāļģāđ€āļĄāļ·āđˆāļ­āđ‚āļĄāđ€āļ”āļĨāļ—āļĩāđˆāļ›āļĢāļąāļšāļ‚āļ™āļēāļ”āļŠāļļāļ”āļ—āđ‰āļēāļĒāļ–āļđāļāđƒāļŠāđ‰āļ‡āļēāļ™ QAT āļĄāļĩāļ„āļ§āļēāļĄāļ‹āļąāļšāļ‹āđ‰āļ­āļ™āļĄāļēāļāļāļ§āđˆāļē āđāļ•āđˆāļĄāļąāļāļˆāļ°āđƒāļŦāđ‰āļœāļĨāļĨāļąāļžāļ˜āđŒāļ—āļĩāđˆāļ”āļĩāļāļ§āđˆāļēāđ€āļĄāļ·āđˆāļ­āđ€āļ—āļĩāļĒāļšāļāļąāļš PTQ

āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™āļˆāļĢāļīāļ‡ āļ„āļļāļ“āļ­āļēāļˆāđƒāļŠāđ‰āđ‚āļĄāđ€āļ”āļĨāļ—āļĩāđˆāļ›āļĢāļąāļšāļ‚āļ™āļēāļ”āļĨāđˆāļ§āļ‡āļŦāļ™āđ‰āļēāļ‹āļķāđˆāļ‡āļĄāļĩāļ­āļĒāļđāđˆāđƒāļ™āđāļžāļĨāļ•āļŸāļ­āļĢāđŒāļĄ āđ€āļŠāđˆāļ™ Hugging Face āļ‹āļķāđˆāļ‡āļˆāļąāļ”āđ‚āļŪāļŠāļ•āđŒāđ‚āļĄāđ€āļ”āļĨāļ—āļĩāđˆāđ„āļ”āđ‰āļĢāļąāļšāļāļēāļĢāļ›āļĢāļąāļšāļ‚āļ™āļēāļ”āđ‚āļ”āļĒāđƒāļŠāđ‰āļ§āļīāļ˜āļĩāļāļēāļĢāļ›āļĢāļąāļšāļ‚āļ™āļēāļ”āļ•āđˆāļēāļ‡āđ† āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āđ€āļŠāđˆāļ™ āļŦāļēāļāļ„āļļāļ“āļ•āđ‰āļ­āļ‡āļāļēāļĢāđ‚āļĄāđ€āļ”āļĨāļ—āļĩāđˆāļ›āļĢāļąāļšāļ‚āļ™āļēāļ”āđ‚āļ”āļĒāđƒāļŠāđ‰ Auto-GPTQ āļ„āļļāļ“āļŠāļēāļĄāļēāļĢāļ–āđ‚āļŦāļĨāļ”āđ„āļ”āđ‰āđ‚āļ”āļĒāđƒāļŠāđ‰āđ„āļĨāļšāļĢāļēāļĢāļĩāļ—āļĢāļēāļ™āļŠāđŒāļŸāļ­āļĢāđŒāđ€āļĄāļ­āļĢāđŒāļ‚āļ­āļ‡ Hugging Face āļ™āļ­āļāļˆāļēāļāļ™āļĩāđ‰ āļŦāļēāļāļ•āđ‰āļ­āļ‡āļāļēāļĢāļ›āļĢāļąāļšāļ‚āļ™āļēāļ”āđ‚āļĄāđ€āļ”āļĨ āļ„āļļāļ“āļŠāļēāļĄāļēāļĢāļ–āđƒāļŠāđ‰āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­ āđ€āļŠāđˆāļ™ AutoGPTQ āļ‹āļķāđˆāļ‡āļĢāļ§āļĄāđ€āļ‚āđ‰āļēāļāļąāļšāđ„āļĨāļšāļĢāļēāļĢāļĩāđ€āļžāļ·āđˆāļ­āļāļēāļĢāļšāļĩāļšāļ­āļąāļ”āđ‚āļĄāđ€āļ”āļĨāļ­āļĒāđˆāļēāļ‡āļĄāļĩāļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļž

āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļāļēāļĢāđ‚āļŦāļĨāļ”āđ‚āļĄāđ€āļ”āļĨ LLaMA-2-7b āļ—āļĩāđˆāļ›āļĢāļąāļšāļ‚āļ™āļēāļ”āļĨāđˆāļ§āļ‡āļŦāļ™āđ‰āļēāđ‚āļ”āļĒāđƒāļŠāđ‰āđ„āļĨāļšāļĢāļēāļĢāļĩāļ—āļĢāļēāļ™āļŠāđŒāļŸāļ­āļĢāđŒāđ€āļĄāļ­āļĢāđŒāļ‚āļ­āļ‡ Hugging Face:

from transformers import AutoModelForCausalLM, AutoTokenizer

<p>model_id = "TheBloke/Llama-2-7b-Chat-GPTQ"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(model_id)
And for custom quantization, one might follow these steps using the AutoGPTQ toolkit:</p>

<p>from transformers import AutoModelForCausalLM, AutoTokenizer, GPTQConfig</p>

<p>model_id = "llama-2-7b-original"
tokenizer = AutoTokenizer.from_pretrained(model_id)
quantization_config = GPTQConfig(bits=4, dataset="your-dataset", tokenizer=tokenizer)
model = AutoModelForCausalLM.from_pretrained(model_id, quantization_config=quantization_config)</p>

āļˆāļģāđ„āļ§āđ‰āļ§āđˆāļēāļāļēāļĢāļ›āļĢāļąāļšāļ‚āļ™āļēāļ”āļ­āļēāļˆāļ•āđ‰āļ­āļ‡āđƒāļŠāđ‰āļāļēāļĢāļ›āļĢāļąāļšāļ‚āļ™āļēāļ”āļŦāļĨāļąāļ‡āļāļēāļĢāļ›āļĢāļąāļšāļ‚āļ™āļēāļ”āļŦāļĢāļ·āļ­āļ§āļīāļĻāļ§āļāļĢāļĢāļĄāļ„āļģāđāļ™āļ°āļ™āļģāđ€āļžāļ·āđˆāļ­āļĢāļąāļāļĐāļēāļ„āļļāļ“āļ āļēāļžāļ‚āļ­āļ‡āđ‚āļĄāđ€āļ”āļĨ āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļ›āļĢāļąāļšāļ‚āļ™āļēāļ”āđƒāļŦāļĄāđˆ āļ„āļļāļ“āļŠāļēāļĄāļēāļĢāļ–āļĄāļĩāļŠāđˆāļ§āļ™āļĢāđˆāļ§āļĄāļāļĨāļąāļšāđ„āļ›āļĒāļąāļ‡āļŠāļļāļĄāļŠāļ™āđ‚āļ”āļĒāļāļēāļĢāļ”āļąāļ™āđ‚āļĄāđ€āļ”āļĨāļ—āļĩāđˆāļ›āļĢāļąāļšāļ‚āļ™āļēāļ”āļ‚āļ­āļ‡āļ„āļļāļ“āđ„āļ›āļĒāļąāļ‡āđāļžāļĨāļ•āļŸāļ­āļĢāđŒāļĄ āđ€āļŠāđˆāļ™ Hugging Face

āļ„āļ§āļĢāļŠāļĢāđ‰āļēāļ‡āļŠāļĄāļ”āļļāļĨāļĢāļ°āļŦāļ§āđˆāļēāļ‡āļ‚āļ™āļēāļ”āđ‚āļĄāđ€āļ”āļĨ āļ„āļ§āļēāļĄāļ•āđ‰āļ­āļ‡āļāļēāļĢāļāļēāļĢāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨ āđāļĨāļ°āļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļžāđ€āļĄāļ·āđˆāļ­āđ€āļĨāļ·āļ­āļāļ§āļīāļ˜āļĩāļāļēāļĢāļ›āļĢāļąāļšāļ‚āļ™āļēāļ”āļŠāļģāļŦāļĢāļąāļšāļāļĢāļ“āļĩāļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™āļ‚āļ­āļ‡āļ„āļļāļ“

 

āļ­āļąāļĨāļāļ­āļĢāļīāļ—āļķāļĄāļāļēāļĢāļ”āļķāļ‡āļ„āļ§āļēāļĄāļŠāļ™āđƒāļˆāđāļšāļš Flash

āļāļĨāđ„āļāļāļēāļĢāļ”āļķāļ‡āļ„āļ§āļēāļĄāļŠāļ™āđƒāļˆāđāļšāļšāļŦāļĨāļēāļĒāļŦāļąāļ§āđ€āļ›āđ‡āļ™āļŠāđˆāļ§āļ™āļ›āļĢāļ°āļāļ­āļšāļŦāļĨāļąāļāļ‚āļ­āļ‡ LLMs āļ—āļĩāđˆāđƒāļŠāđ‰āđāļšāļšāļ—āļĢāļēāļ™āļŠāđŒāļŸāļ­āļĢāđŒāđ€āļĄāļ­āļĢāđŒ āļŠāđˆāļ§āļĒāđƒāļŦāđ‰āđ‚āļĄāđ€āļ”āļĨāļŠāļēāļĄāļēāļĢāļ–āļˆāļąāļšāļ‚āđ‰āļ­āļĄāļđāļĨāļ—āļĩāđˆāļ‚āļķāđ‰āļ™āļ­āļĒāļđāđˆāļāļąāļšāļĢāļ°āļĒāļ°āļ—āļēāļ‡āđāļĨāļ°āđāļŠāļ”āļ‡āļ–āļķāļ‡āļšāļĢāļīāļšāļ—āđ„āļ”āđ‰ āļ­āļĒāđˆāļēāļ‡āđ„āļĢāļāđ‡āļ•āļēāļĄ āļāļēāļĢāļ”āļģāđ€āļ™āļīāļ™āļāļēāļĢāļ”āļķāļ‡āļ„āļ§āļēāļĄāļŠāļ™āđƒāļˆāļ™āļĩāđ‰āđ„āļĄāđˆāļĄāļĩāļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļžāđƒāļ™āļāļēāļĢāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāđāļšāļšāļ­āļąāļ•āđ‚āļ™āļĄāļąāļ•āļī āđ€āļ™āļ·āđˆāļ­āļ‡āļˆāļēāļāļ•āđ‰āļ­āļ‡āļ„āļģāļ™āļ§āļ“āļ„āđˆāļēāđƒāļŦāļĄāđˆāļŦāļĨāļēāļĒāļ„āļĢāļąāđ‰āļ‡āļŠāļģāļŦāļĢāļąāļšāđāļ•āđˆāļĨāļ°āđ‚āļ—āđ€āļ„āđ‡āļ™āđƒāļŦāļĄāđˆ

āļ­āļąāļĨāļāļ­āļĢāļīāļ—āļķāļĄ Flash Attention āļ‹āļķāđˆāļ‡āļ™āļģāđ€āļŠāļ™āļ­āđƒāļ™āļāļĢāļ°āļ”āļēāļĐ Flash Attention āđ€āļ›āđ‡āļ™āļ§āļīāļ˜āļĩāļāļēāļĢāļ—āļĩāđˆāļĄāļĩāļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļžāđāļĨāļ°āđ€āļ›āđ‡āļ™āļĄāļīāļ•āļĢāļāļąāļšāļāļēāļĢāļ‚āļ™āļēāļ™āđāļšāđˆāļ‡āļĄāļēāļāļāļ§āđˆāļēāđƒāļ™āļāļēāļĢāļ”āļģāđ€āļ™āļīāļ™āļāļēāļĢāļ”āļķāļ‡āļ„āļ§āļēāļĄāļŠāļ™āđƒāļˆ āđāļ—āļ™āļ—āļĩāđˆāļˆāļ°āļ„āļģāļ™āļ§āļ“āļ„āđˆāļēāļ”āļķāļ‡āļ„āļ§āļēāļĄāļŠāļ™āđƒāļˆāđƒāļŦāļĄāđˆāļŠāļģāļŦāļĢāļąāļšāđāļ•āđˆāļĨāļ°āđ‚āļ—āđ€āļ„āđ‡āļ™ Flash Attention āļˆāļ°āđāļ„āļŠāđāļĨāļ°āļ™āļģāļ„āđˆāļēāđ€āļĄāļ—āļĢāļīāļāļ‹āđŒāļŦāļĨāļąāļ/āļ„āđˆāļēāđƒāļŦāļĄāđˆāļĄāļēāđƒāļŠāđ‰āļ‹āđ‰āļģ āļĨāļ”āļāļēāļĢāļ„āļģāļ™āļ§āļ“āļ—āļĩāđˆāļ‹āđ‰āļģāļāļąāļ™

āļāļēāļĢāđ€āļžāļīāđˆāļĄāļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļžāļ™āļĩāđ‰āđ„āļĄāđˆāđ€āļžāļĩāļĒāļ‡āđāļ•āđˆāļĨāļ”āļ āļēāļĢāļ°āļāļēāļĢāļ„āļģāļ™āļ§āļ“ āđāļ•āđˆāļĒāļąāļ‡āļ›āļĢāļąāļšāļ›āļĢāļļāļ‡āļĢāļđāļ›āđāļšāļšāļāļēāļĢāđ€āļ‚āđ‰āļēāļ–āļķāļ‡āļŦāļ™āđˆāļ§āļĒāļ„āļ§āļēāļĄāļˆāļģ āļ—āļģāđƒāļŦāđ‰āļŠāļēāļĄāļēāļĢāļ–āđƒāļŠāđ‰āđāļšāļ™āļ”āđŒāļ§āļīāļ˜āļŦāļ™āđˆāļ§āļĒāļ„āļ§āļēāļĄāļˆāļģ GPU āđāļĨāļ°āļāļēāļĢāļ‚āļ™āļēāļ™āđāļšāđˆāļ‡āļ—āļĩāđˆāļ”āļĩāļ‚āļķāđ‰āļ™

āđāļĄāđ‰āļ§āđˆāļēāļĢāļēāļĒāļĨāļ°āđ€āļ­āļĩāļĒāļ”āļ‚āļ­āļ‡ Flash Attention āļˆāļ°āļ‹āļąāļšāļ‹āđ‰āļ­āļ™ āđāļ•āđˆāđāļ™āļ§āļ„āļīāļ”āļŦāļĨāļąāļāļ„āļ·āļ­āļāļēāļĢāđāļšāđˆāļ‡āļāļēāļĢāļ”āļģāđ€āļ™āļīāļ™āļāļēāļĢāļ”āļķāļ‡āļ„āļ§āļēāļĄāļŠāļ™āđƒāļˆāļ­āļ­āļāđ€āļ›āđ‡āļ™āļŠāļ­āļ‡āļ‚āļąāđ‰āļ™āļ•āļ­āļ™:

  1. āļāļēāļĢāļāļąāļ‡āļ•āļąāļ§āđāļšāļš Prefix Sum: āļ‚āļąāđ‰āļ™āļ•āļ­āļ™āļ™āļĩāđ‰āļ„āļģāļ™āļ§āļ“āđāļĨāļ°āđāļ„āļŠāļāļēāļĢāļāļąāļ‡āļ•āļąāļ§āļŦāļĨāļąāļ/āļ„āđˆāļēāļŠāļģāļŦāļĢāļąāļšāđ‚āļ—āđ€āļ„āđ‡āļ™āļ­āļīāļ™āļžāļļāļ•āļ—āļąāđ‰āļ‡āļŦāļĄāļ” āļ—āļģāđƒāļŦāđ‰āļŠāļēāļĄāļēāļĢāļ–āļ™āļģāļĄāļēāđƒāļŠāđ‰āļ‹āđ‰āļģāđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡āļĄāļĩāļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļžāļĢāļ°āļŦāļ§āđˆāļēāļ‡āļāļēāļĢāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļ„āļ§āļēāļĄ
  2. āļāļēāļĢāļ”āļķāļ‡āļ„āļ§āļēāļĄāļŠāļ™āđƒāļˆāđāļšāļš Causal: āļāļēāļĢāļ”āļģāđ€āļ™āļīāļ™āļāļēāļĢāļ”āļķāļ‡āļ„āļ§āļēāļĄāļŠāļ™āđƒāļˆāļ—āļĩāđˆāđāļ—āđ‰āļˆāļĢāļīāļ‡ āļ‹āļķāđˆāļ‡āđ„āļ”āđ‰āļĢāļąāļšāļāļēāļĢāļ›āļĢāļąāļšāđƒāļŦāđ‰āđ€āļŦāļĄāļēāļ°āļŠāļĄāđ€āļžāļ·āđˆāļ­āđƒāļŠāđ‰āļ›āļĢāļ°āđ‚āļĒāļŠāļ™āđŒāļˆāļēāļāļ„āđˆāļēāļŦāļĨāļąāļ/āļ„āđˆāļēāļ—āļĩāđˆāđāļ„āļŠāđ„āļ§āđ‰āļˆāļēāļāļ‚āļąāđ‰āļ™āļ•āļ­āļ™āđāļĢāļ

āļ”āđ‰āļ§āļĒāļāļēāļĢāđāļĒāļāļ‚āļąāđ‰āļ™āļ•āļ­āļ™āđ€āļŦāļĨāđˆāļēāļ™āļĩāđ‰ Flash Attention āļŠāļēāļĄāļēāļĢāļ–āđƒāļŠāđ‰āļāļēāļĢāļ”āļģāđ€āļ™āļīāļ™āļāļēāļĢāļ‚āļ™āļēāļ™āđāļšāđˆāļ‡āļ—āļĩāđˆāļĄāļĩāļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļžāļŠāļđāļ‡āļ‚āļ­āļ‡ GPU āđ„āļ”āđ‰ āļ—āļģāđƒāļŦāđ‰āļŠāļēāļĄāļēāļĢāļ–āđ€āļĢāđˆāļ‡āļāļēāļĢāļ”āļģāđ€āļ™āļīāļ™āļāļēāļĢāļ”āļķāļ‡āļ„āļ§āļēāļĄāļŠāļ™āđƒāļˆāđƒāļ™ LLMs āđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡āļĄāļēāļ

āļ™āļĩāđˆāļ„āļ·āļ­āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļāļēāļĢāļ™āļģ Flash Attention āđ„āļ›āđƒāļŠāđ‰āļāļąāļš LLMs:

from transformers import AutoModelForCausalLM
import torch
from flash_attention import flash_attention

<p># āđ‚āļŦāļĨāļ” LLM āđ€āļŠāđˆāļ™ OctoCoder
model = AutoModelForCausalLM.from_pretrained("bigcode/octocoder")</p>

<p># āđ‚āļŦāļĨāļ”āļžāļĢāļ­āļĄāļ•āđŒāļĢāļ°āļšāļšāļ—āļĩāđˆāļŠāļĩāđ‰āļ™āļģāđ‚āļĄāđ€āļ”āļĨāđƒāļŦāđ‰āđ€āļ›āđ‡āļ™āđāļ­āļŠāļ‹āļīāļŠāđāļ•āļ™āļ•āđŒāļāļēāļĢāđ€āļ‚āļĩāļĒāļ™āđ‚āļ„āđ‰āļ”
system_prompt = "..."</p>

<p># āļāļēāļĢāđ€āļ•āļĢāļĩāļĒāļĄāļ­āļīāļ™āļžāļļāļ•āļ—āļĩāđˆāļĒāļēāļ§āļ‚āļķāđ‰āļ™āļ”āđ‰āļ§āļĒāļžāļĢāļ­āļĄāļ•āđŒāļĢāļ°āļšāļš
long_prompt = system_prompt + "āļ„āļģāļ–āļēāļĄ: āđ‚āļ›āļĢāļ”āđ€āļ‚āļĩāļĒāļ™āļŸāļąāļ‡āļāđŒāļŠāļąāļ™āđƒāļ™ Python āļ—āļĩāđˆāđāļ›āļĨāļ‡āđ„āļšāļ•āđŒāđ€āļ›āđ‡āļ™āļāļīāļāļ°āđ„āļšāļ•āđŒ"</p>

<p># āļāļēāļĢāđ€āļ›āļĨāļĩāđˆāļĒāļ™āđ‚āļĄāđ€āļ”āļĨāļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāđ€āļžāļīāđˆāļĄāļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļž Flash Attention
model.to_bettertransformer()</p>

<p># āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™āđ‚āļĄāđ€āļ”āļĨāļžāļĢāđ‰āļ­āļĄāļāļąāļš Flash Attention
start_time = time.time()
with torch.backends.cuda.sdp_kernel(enable_flash=True):
result = model.generate(long_prompt, max_new_tokens=60)
print(f"āļŠāļĢāđ‰āļēāļ‡āđ€āļŠāļĢāđ‡āļˆāđƒāļ™ {time.time() - start_time} āļ§āļīāļ™āļēāļ—āļĩ.")

āđāļĄāđ‰āļ§āđˆāļē Flash Attention āļˆāļ°āđƒāļŦāđ‰āļāļēāļĢāđ€āļžāļīāđˆāļĄāļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļžāļ—āļĩāđˆāļ™āđˆāļēāļ›āļĢāļ°āļ—āļąāļšāđƒāļˆ āđāļ•āđˆāļāđ‡āļ—āļģāļ‡āļēāļ™āļ āļēāļĒāđƒāļ™āļŠāļ–āļēāļ›āļąāļ•āļĒāļāļĢāļĢāļĄāļ—āļĢāļēāļ™āļŠāđŒāļŸāļ­āļĢāđŒāđ€āļĄāļ­āļĢāđŒāļ—āļĩāđˆāļĄāļĩāļ­āļĒāļđāđˆ āđ€āļžāļ·āđˆāļ­āļ›āļĨāļ”āļ›āļĨāđˆāļ­āļĒāļĻāļąāļāļĒāļ āļēāļžāđƒāļ™āļāļēāļĢāļ­āļ™āļļāļĄāļēāļ™ LLMs āļ—āļĩāđˆāđ€āļĢāđˆāļ‡āļ„āļ§āļēāļĄāđ€āļĢāđ‡āļ§āļ­āļĒāđˆāļēāļ‡āđāļ—āđ‰āļˆāļĢāļīāļ‡ āđ€āļĢāļēāļ•āđ‰āļ­āļ‡āļŠāļģāļĢāļ§āļˆāļ™āļ§āļąāļ•āļāļĢāļĢāļĄāļ—āļēāļ‡āļŠāļ–āļēāļ›āļąāļ•āļĒāļāļĢāļĢāļĄāļ—āļĩāđˆāļ­āļ­āļāđāļšāļšāļĄāļēāđ‚āļ”āļĒāđ€āļ‰āļžāļēāļ°āļŠāļģāļŦāļĢāļąāļšāļ‡āļēāļ™āļ™āļĩāđ‰

āļāļēāļĢāļ›āļĢāļąāļšāļ‚āļ™āļēāļ” LLMs

āļāļēāļĢāļ›āļĢāļąāļšāļ‚āļ™āļēāļ” LLMs āđ€āļ›āđ‡āļ™āđ€āļ—āļ„āļ™āļīāļ„āđƒāļ™āļāļēāļĢāļĨāļ”āļ‚āļ™āļēāļ”āđ‚āļĄāđ€āļ”āļĨāđ‚āļ”āļĒāļĒāļąāļ‡āļ„āļ‡āļĢāļąāļāļĐāļēāļ„āļ§āļēāļĄāļŠāļēāļĄāļēāļĢāļ–āđ„āļ§āđ‰ āđ‚āļ”āļĒāđƒāļŠāđ‰āļāļēāļĢāļ›āļĢāļ°āļĄāļēāļ“āļ„āđˆāļēāļ„āļ§āļēāļĄāļŠāļģāļ„āļąāļāļ‚āļ­āļ‡āļ™āđ‰āļģāļŦāļ™āļąāļāļ•āļēāļĄāļĄāļēāļ•āļĢāļāļēāļ™āļ‚āļ­āļ‡āđ€āļĄāļ—āļĢāļīāļāļ‹āđŒāđ€āļŪāļŠāđ€āļ‹āļĩāļĒāļ™āđŒ āđƒāļ™āļāļēāļĢāļ›āļĢāļąāļšāļ‚āļ™āļēāļ” āļ™āđ‰āļģāļŦāļ™āļąāļāļ—āļĩāđˆāđ„āļĄāđˆāļŠāļģāļ„āļąāļāļˆāļ°āļ–āļđāļāļĨāļšāļ­āļ­āļ āđāļĨāđ‰āļ§āđ‚āļĄāđ€āļ”āļĨāļˆāļ°āļ–āļđāļāļ›āļĢāļąāļšāđƒāļŦāđ‰āđ€āļŦāļĄāļēāļ°āļŠāļĄāļ­āļĩāļāļ„āļĢāļąāđ‰āļ‡āđ€āļžāļ·āđˆāļ­āļāļēāļĢāļāļđāđ‰āļ„āļ·āļ™āļ„āļ§āļēāļĄāđāļĄāđˆāļ™āļĒāļģ LLM-Pruner āļĄāļĩāļ„āļģāļŠāļąāđˆāļ‡āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļ›āļĢāļąāļšāļ‚āļ™āļēāļ”āļ”āđ‰āļ§āļĒāļāļĨāļĒāļļāļ—āļ˜āđŒāļ•āđˆāļēāļ‡āđ†

āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āđ‚āļ„āđ‰āļ” Python āļ—āļĩāđˆāđāļŠāļ”āļ‡āļāļēāļĢāđƒāļŠāđ‰ LLM-Pruner āļŠāļģāļŦāļĢāļąāļšāđ‚āļĄāđ€āļ”āļĨ LLaMa:

from transformers import AutoModelForSequenceClassification
from pruning import LLMPruner

<p># āđ‚āļŦāļĨāļ”āđ‚āļĄāđ€āļ”āļĨ LLaMa āļ—āļĩāđˆāđ„āļ”āđ‰āļĢāļąāļšāļāļēāļĢāļāļķāļāļāļ™āļĄāļēāđāļĨāđ‰āļ§
model = AutoModelForSequenceClassification.from_pretrained("llama-base")</p>

<p># āļ•āļąāđ‰āļ‡āļ„āđˆāļēāļ›āļĢāļąāļšāļ‚āļ™āļēāļ”āļ”āđ‰āļ§āļĒāļāļēāļĢāļāļģāļŦāļ™āļ”āļ„āđˆāļēāļ—āļĩāđˆāļ•āđ‰āļ­āļ‡āļāļēāļĢ
pruner = LLMPruner(
model,
pruning_ratio=0.25,
block_mlp_layers=(4, 30),
block_attention_layers=(4, 30),
pruner_type='taylor'
)</p>

<p># āļ—āļģāļāļēāļĢāļ›āļĢāļąāļšāļ‚āļ™āļēāļ”
pruned_model = pruner.prune()</p>

<p># āļ›āļĢāļąāļšāđƒāļŦāđ‰āđ€āļŦāļĄāļēāļ°āļŠāļĄāđ‚āļĄāđ€āļ”āļĨāļ—āļĩāđˆāļ›āļĢāļąāļšāļ‚āļ™āļēāļ”
pruned_model.fine_tune(training_data)

āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āđ‚āļ„āđ‰āļ”āļ™āļĩāđ‰āđāļŠāļ”āļ‡āļāļēāļĢāđ‚āļŦāļĨāļ”āđ‚āļĄāđ€āļ”āļĨ LLaMa āļ—āļĩāđˆāđ„āļ”āđ‰āļĢāļąāļšāļāļēāļĢāļāļķāļāļāļ™āļĄāļēāđāļĨāđ‰āļ§ āļāļēāļĢāļ•āļąāđ‰āļ‡āļ„āđˆāļēāļ›āļĢāļąāļšāļ‚āļ™āļēāļ”āļ”āđ‰āļ§āļĒāļāļēāļĢāļāļģāļŦāļ™āļ”āļ„āđˆāļēāļ—āļĩāđˆāļ•āđ‰āļ­āļ‡āļāļēāļĢ āļāļēāļĢāļ—āļģāļāļēāļĢāļ›āļĢāļąāļšāļ‚āļ™āļēāļ” āđāļĨāļ°āļāļēāļĢāļ›āļĢāļąāļšāđƒāļŦāđ‰āđ€āļŦāļĄāļēāļ°āļŠāļĄāđ‚āļĄāđ€āļ”āļĨāļ—āļĩāđˆāļ›āļĢāļąāļšāļ‚āļ™āļēāļ”

āļ™āļ§āļąāļ•āļāļĢāļĢāļĄāļ—āļēāļ‡āļŠāļ–āļēāļ›āļąāļ•āļĒāļāļĢāļĢāļĄāļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļ—āļĩāđˆāļĄāļĩāļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļž

āļŠāļ–āļēāļ›āļąāļ•āļĒāļāļĢāļĢāļĄāļ—āļĢāļēāļ™āļŠāđŒāļŸāļ­āļĢāđŒāđ€āļĄāļ­āļĢāđŒ āđāļĄāđ‰āļ§āđˆāļēāļˆāļ°āļĄāļĩāļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļžāļŠāļđāļ‡āļŠāļģāļŦāļĢāļąāļšāļ‡āļēāļ™āļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāļ āļēāļĐāļē āđāļ•āđˆāļāđ‡āđ„āļĄāđˆāđ„āļ”āđ‰āļ–āļđāļāļ­āļ­āļāđāļšāļšāļĄāļēāđ‚āļ”āļĒāđ€āļ‰āļžāļēāļ°āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļ„āļ§āļēāļĄ āđ€āļĄāļ·āđˆāļ­āđƒāļŠāđ‰āļ‡āļēāļ™ LLMs āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļ—āļĩāđˆāļĄāļĩāļšāļĢāļīāļšāļ—āļ­āļīāļ™āļžāļļāļ•āļĒāļēāļ§ āļ™āļąāļāļ§āļīāļˆāļąāļĒāļžāļšāļ§āđˆāļēāļŠāļ–āļēāļ›āļąāļ•āļĒāļāļĢāļĢāļĄāļ—āļĩāđˆāļ­āļ­āļāđāļšāļšāļĄāļēāđ‚āļ”āļĒāđ€āļ‰āļžāļēāļ°āļŠāļēāļĄāļēāļĢāļ–āļ›āļĢāļąāļšāļ›āļĢāļļāļ‡āļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļžāļāļēāļĢāļ­āļ™āļļāļĄāļēāļ™āđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡āļĄāļēāļāđ‚āļ”āļĒāđ„āļĄāđˆāļŠāļđāļāđ€āļŠāļĩāļĒāļ„āļļāļ“āļ āļēāļž

āļ™āļĩāđˆāļ„āļ·āļ­āļ™āļ§āļąāļ•āļāļĢāļĢāļĄāļ—āļēāļ‡āļŠāļ–āļēāļ›āļąāļ•āļĒāļāļĢāļĢāļĄāļŦāļĨāļąāļāđ† āļ—āļĩāđˆāļŠāđˆāļ§āļĒāđƒāļŦāđ‰āļāļēāļĢāļ­āļ™āļļāļĄāļēāļ™ LLMs āđ€āļĢāđ‡āļ§āļ‚āļķāđ‰āļ™:

Alibi: āļŠāļ–āļēāļ›āļąāļ•āļĒāļāļĢāļĢāļĄ Alibi āļ‹āļķāđˆāļ‡āļ–āļđāļāļ™āļģāđ€āļŠāļ™āļ­āđƒāļ™āļāļĢāļ°āļ”āļēāļĐ PAL-Instruction āđāļšāđˆāļ‡āļāļēāļĢāļŠāļĢāđ‰āļēāļ‡āđāļšāļšāļˆāļģāļĨāļ­āļ‡āļšāļĢāļīāļšāļ—āļ­āļīāļ™āļžāļļāļ•āļĒāļēāļ§āļ­āļ­āļāļˆāļēāļāļāļĢāļ°āļšāļ§āļ™āļāļēāļĢāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāđ‚āļ”āļĒāļ•āļĢāļ‡ āđ‚āļ”āļĒāđƒāļŠāđ‰āļāļēāļĢāđāļŠāļ”āļ‡āļ–āļķāļ‡āļ—āļĩāđˆāļšāļĩāļšāļ­āļąāļ”āļ‚āļ­āļ‡āļšāļĢāļīāļšāļ—āļ­āļīāļ™āļžāļļāļ• (alibi) āđ€āļžāļ·āđˆāļ­āļŠāđˆāļ§āļĒāđƒāļ™āļāļēāļĢāđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™āļāļēāļĢāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļ„āļ§āļēāļĄ āļĨāļ”āļ„āļ§āļēāļĄāļˆāļģāđ€āļ›āđ‡āļ™āđƒāļ™āļāļēāļĢāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāļĨāļģāļ”āļąāļšāļ­āļīāļ™āļžāļļāļ•āļ—āļąāđ‰āļ‡āļŦāļĄāļ”āļ‹āđ‰āļģāđ† āļĢāļ°āļŦāļ§āđˆāļēāļ‡āļāļēāļĢāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāđāļšāļšāļ­āļąāļ•āđ‚āļ™āļĄāļąāļ•āļī

āļāļēāļĢāļāļąāļ‡āļ•āļąāļ§āđāļšāļš Rotary: āđāļ—āļ™āļ—āļĩāđˆāļˆāļ°āđƒāļŠāđ‰āļāļēāļĢāļāļąāļ‡āļ•āļąāļ§āļ•āļģāđāļŦāļ™āđˆāļ‡āļĄāļēāļ•āļĢāļāļēāļ™ āđ€āļ—āļ„āļ™āļīāļ„āļāļēāļĢāļāļąāļ‡āļ•āļąāļ§āđāļšāļš Rotary āđƒāļŠāđ‰āđ€āļĄāļ—āļĢāļīāļāļ‹āđŒāļāļēāļĢāļŦāļĄāļļāļ™āđ€āļžāļ·āđˆāļ­āđ€āļ‚āđ‰āļēāļĢāļŦāļąāļŠāļ‚āđ‰āļ­āļĄāļđāļĨāļ•āļģāđāļŦāļ™āđˆāļ‡āđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡āļĄāļĩāļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļžāļĄāļēāļāļ‚āļķāđ‰āļ™ āļ§āļīāļ˜āļĩāļ™āļĩāđ‰āđ„āļ”āđ‰āļĢāļąāļšāļāļēāļĢāļžāļīāļŠāļđāļˆāļ™āđŒāđāļĨāđ‰āļ§āļ§āđˆāļēāļŠāļēāļĄāļēāļĢāļ–āļ›āļĢāļąāļšāļ›āļĢāļļāļ‡āļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļžāđāļĨāļ°āļŠāđˆāļ§āļĒāđƒāļŦāđ‰āļŠāļēāļĄāļēāļĢāļ–āļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāļĨāļģāļ”āļąāļšāļ­āļīāļ™āļžāļļāļ•āļ—āļĩāđˆāļĒāļēāļ§āļ‚āļķāđ‰āļ™āđ„āļ”āđ‰

āļāļēāļĢāļ”āļķāļ‡āļ„āļ§āļēāļĄāļŠāļ™āđƒāļˆāđāļšāļš Multi-Query (MQA): āđƒāļ™āļāļēāļĢāļ”āļķāļ‡āļ„āļ§āļēāļĄāļŠāļ™āđƒāļˆāđāļšāļšāļ”āļąāđ‰āļ‡āđ€āļ”āļīāļĄ āđāļ•āđˆāļĨāļ°āđ‚āļ—āđ€āļ„āļ™āļ­āļ­āļāļĢāļēāļĒāļāļēāļĢāļˆāļ°āļ”āļķāļ‡āļ„āļ§āļēāļĄāļŠāļ™āđƒāļˆāļˆāļēāļāļ—āļąāđ‰āļ‡āļĨāļģāļ”āļąāļšāļ­āļīāļ™āļžāļļāļ• āļ‹āļķāđˆāļ‡āļ™āļģāđ„āļ›āļŠāļđāđˆāļāļēāļĢāļ„āļģāļ™āļ§āļ“āļ—āļĩāđˆāļ‹āđ‰āļģāļāļąāļ™ MQA āđ€āļ›āđ‡āļ™āļāļēāļĢāļ›āļāļīāļĢāļđāļ›āļāļēāļĢāļ”āļķāļ‡āļ„āļ§āļēāļĄāļŠāļ™āđƒāļˆāđ€āļžāļ·āđˆāļ­āđāļšāđˆāļ‡āļ›āļąāļ™āļāļēāļĢāļ„āļģāļ™āļ§āļ“āļĢāļ°āļŦāļ§āđˆāļēāļ‡āđ‚āļ—āđ€āļ„āļ™āļ­āļ­āļāļĢāļēāļĒāļāļēāļĢāļŦāļĨāļēāļĒāļ•āļąāļ§ āļĨāļ”āļ„āļ§āļēāļĄāļ‹āļąāļšāļ‹āđ‰āļ­āļ™āđ‚āļ”āļĒāļĢāļ§āļĄ

Multiquery attention

Multiquery attention

āļāļēāļĢāļ”āļķāļ‡āļ„āļ§āļēāļĄāļŠāļ™āđƒāļˆāđāļšāļš Grouped-Query-Attention (GQA): GQA āļ‚āļĒāļēāļĒ MQA āđ‚āļ”āļĒāļāļēāļĢāđāļšāđˆāļ‡āđ‚āļ—āđ€āļ„āļ™āļ­āļ­āļāļĢāļēāļĒāļāļēāļĢāļ­āļ­āļāđ€āļ›āđ‡āļ™āļāļĨāļļāđˆāļĄāđāļĨāļ°āļ„āļģāļ™āļ§āļ“āļāļēāļĢāļ”āļķāļ‡āļ„āļ§āļēāļĄāļŠāļ™āđƒāļˆāļĢāđˆāļ§āļĄāļāļąāļ™āļŠāļģāļŦāļĢāļąāļšāđāļ•āđˆāļĨāļ°āļāļĨāļļāđˆāļĄ āļ§āļīāļ˜āļĩāļ™āļĩāđ‰āļĨāļ”āļ„āļ§āļēāļĄāļ•āđ‰āļ­āļ‡āļāļēāļĢāļāļēāļĢāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāļĨāļ‡āđƒāļ™āļ‚āļ“āļ°āđ€āļ”āļĩāļĒāļ§āļāļąāļ™āļāđ‡āļĢāļąāļāļĐāļēāļ„āļļāļ“āļ āļēāļžāļāļēāļĢāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļ—āļĩāđˆāļŠāļđāļ‡āđ„āļ§āđ‰

āđāļĄāđ‰āļ§āđˆāļēāļ™āļ§āļąāļ•āļāļĢāļĢāļĄāđ€āļŦāļĨāđˆāļēāļ™āļĩāđ‰āļĒāļąāļ‡āļ„āļ‡āļ­āļĒāļđāđˆāđƒāļ™āļŠāđˆāļ§āļ‡āļāļēāļĢāļ§āļīāļˆāļąāļĒāđāļĨāļ°āļžāļąāļ’āļ™āļē āđāļ•āđˆāļāđ‡āđ„āļ”āđ‰āđāļŠāļ”āļ‡āđƒāļŦāđ‰āđ€āļŦāđ‡āļ™āļ–āļķāļ‡āļāļēāļĢāđ€āļžāļīāđˆāļĄāļ„āļ§āļēāļĄāđ€āļĢāđ‡āļ§āļ—āļĩāđˆāļ™āđˆāļēāļ›āļĢāļ°āļ—āļąāļšāđƒāļˆāļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļ­āļ™āļļāļĄāļēāļ™ LLMs āđ‚āļ”āļĒāđ€āļ‰āļžāļēāļ°āļ­āļĒāđˆāļēāļ‡āļĒāļīāđˆāļ‡āđ€āļĄāļ·āđˆāļ­āļĢāļ§āļĄāļāļąāļšāđ€āļ—āļ„āļ™āļīāļ„āļ­āļ·āđˆāļ™āđ† āđ€āļŠāđˆāļ™ Flash Attention āđāļĨāļ°āļāļēāļĢāļ›āļĢāļąāļšāļ‚āļ™āļēāļ”āļ„āļ§āļēāļĄāđāļĄāđˆāļ™āļĒāļģāļ—āļēāļ‡āļ„āļ“āļīāļ•āļĻāļēāļŠāļ•āļĢāđŒ

āļāļēāļĢāļžāļīāļˆāļēāļĢāļ“āļēāđƒāļ™āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™āļˆāļĢāļīāļ‡

āļ™āļ­āļāđ€āļŦāļ™āļ·āļ­āļˆāļēāļāļ­āļąāļĨāļāļ­āļĢāļīāļ—āļķāļĄāđāļĨāļ°āļŠāļ–āļēāļ›āļąāļ•āļĒāļāļĢāļĢāļĄāļŦāļĨāļąāļāđāļĨāđ‰āļ§ āļĒāļąāļ‡āļĄāļĩāļāļēāļĢāļžāļīāļˆāļēāļĢāļ“āļēāļŦāļĨāļēāļĒāļ›āļĢāļ°āļāļēāļĢāđƒāļ™āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™ LLMs āđƒāļ™āļŠāļ āļēāļžāđāļ§āļ”āļĨāđ‰āļ­āļĄāļāļēāļĢāļœāļĨāļīāļ•:

āļāļēāļĢāđ€āļĢāđˆāļ‡āļ„āļ§āļēāļĄāđ€āļĢāđ‡āļ§āļŪāļēāļĢāđŒāļ”āđāļ§āļĢāđŒ: āđāļĄāđ‰āļ§āđˆāļē CPU āļˆāļ°āļŠāļēāļĄāļēāļĢāļ–āļˆāļąāļ”āļāļēāļĢāļāļēāļĢāļ­āļ™āļļāļĄāļēāļ™ LLMs āđ„āļ”āđ‰ āđāļ•āđˆ GPU āđāļĨāļ°āļ•āļąāļ§āđ€āļĢāđˆāļ‡āļ„āļ§āļēāļĄāđ€āļĢāđ‡āļ§āļ­āļ·āđˆāļ™āđ† āđ€āļŠāđˆāļ™ TPU āļ‚āļ­āļ‡ Google (GOOGL ) āđ€āļ›āđ‡āļ™āļŠāļīāđˆāļ‡āļˆāļģāđ€āļ›āđ‡āļ™āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļšāļĢāļĢāļĨāļļāļāļēāļĢāļĢāļąāļšāļŠāđˆāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāļŠāļđāļ‡āđāļĨāļ°āļ„āļ§āļēāļĄāļŦāļ™āđˆāļ§āļ‡āļ•āđˆāļģ āļāļēāļĢāđ€āļĨāļ·āļ­āļāļŪāļēāļĢāđŒāļ”āđāļ§āļĢāđŒāļ—āļĩāđˆāđ€āļŦāļĄāļēāļ°āļŠāļĄāđāļĨāļ°āđ€āļžāļīāđˆāļĄāļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļžāļāļēāļĢāđƒāļŠāđ‰āļŦāļ™āđˆāļ§āļĒāļ„āļ§āļēāļĄāļˆāļģāļˆāļķāļ‡āļĄāļĩāļ„āļ§āļēāļĄāļŠāļģāļ„āļąāļ

āļāļēāļĢāđāļšāļ•āļŠāđŒāđāļĨāļ°āļāļēāļĢāļ‚āļ™āļēāļ™āđāļšāđˆāļ‡: āđ€āļžāļ·āđˆāļ­āđƒāļŠāđ‰āļ›āļĢāļ°āđ‚āļĒāļŠāļ™āđŒāļˆāļēāļāļŪāļēāļĢāđŒāļ”āđāļ§āļĢāđŒāđāļšāļšāļ‚āļ™āļēāļ™āđāļšāđˆāļ‡āļ­āļĒāđˆāļēāļ‡āđ€āļ•āđ‡āļĄāļ—āļĩāđˆ āļāļĨāļĒāļļāļ—āļ˜āđŒāđ€āļŠāđˆāļ™āļāļēāļĢāļ­āļ™āļļāļĄāļēāļ™āđāļšāļ•āļŠāđŒ (āļāļēāļĢāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāļ­āļīāļ™āļžāļļāļ•āļŦāļĨāļēāļĒāļĢāļēāļĒāļāļēāļĢāļžāļĢāđ‰āļ­āļĄāļāļąāļ™) āđāļĨāļ°āļāļēāļĢāļ‚āļ™āļēāļ™āđāļšāđˆāļ‡āđāļšāļšāđ‚āļĄāđ€āļ”āļĨ (āļāļēāļĢāļāļĢāļ°āļˆāļēāļĒ LLMs āđ„āļ›āļĒāļąāļ‡āļ­āļļāļ›āļāļĢāļ“āđŒāļŦāļĨāļēāļĒāđ€āļ„āļĢāļ·āđˆāļ­āļ‡) āļŠāļēāļĄāļēāļĢāļ–āđ€āļžāļīāđˆāļĄāļāļēāļĢāļĢāļąāļšāļŠāđˆāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡āļĄāļēāļ

āļāļēāļĢāļ‹āļ·āđ‰āļ­āļ‚āļēāļĒāļĢāļ°āļŦāļ§āđˆāļēāļ‡āļāļēāļĢāļ›āļĢāļąāļšāļ‚āļ™āļēāļ”āđāļĨāļ°āļ„āļļāļ“āļ āļēāļž: āļĢāļ°āļ”āļąāļšāļāļēāļĢāļ›āļĢāļąāļšāļ‚āļ™āļēāļ” (8 āļšāļīāļ•, 4 āļšāļīāļ•, āļŊāļĨāļŊ) āļˆāļ°āļŠāđˆāļ‡āļœāļĨāļāļĢāļ°āļ—āļšāđ‚āļ”āļĒāļ•āļĢāļ‡āļ•āđˆāļ­āļ„āļ§āļēāļĄāđ€āļĢāđ‡āļ§āļāļēāļĢāļ­āļ™āļļāļĄāļēāļ™āđāļĨāļ°āļ„āļ§āļēāļĄāļ•āđ‰āļ­āļ‡āļāļēāļĢāļŦāļ™āđˆāļ§āļĒāļ„āļ§āļēāļĄāļˆāļģ āđāļ•āđˆāļĒāļąāļ‡āļˆāļ°āļŠāđˆāļ‡āļœāļĨāļ•āđˆāļ­āļ„āļļāļ“āļ āļēāļžāđ€āļ­āļēāļ•āđŒāļžāļļāļ•āļ”āđ‰āļ§āļĒ āļāļēāļĢāļ‹āļ·āđ‰āļ­āļ‚āļēāļĒāļĢāļ°āļŦāļ§āđˆāļēāļ‡āļāļēāļĢāļ›āļĢāļąāļšāļ‚āļ™āļēāļ”āđāļĨāļ°āļ„āļļāļ“āļ āļēāļžāļˆāļķāļ‡āļ•āđ‰āļ­āļ‡āđ„āļ”āđ‰āļĢāļąāļšāļāļēāļĢāļ›āļĢāļ°āđ€āļĄāļīāļ™āļ­āļĒāđˆāļēāļ‡āļĢāļ­āļšāļ„āļ­āļšāļŠāļģāļŦāļĢāļąāļšāļāļĢāļ“āļĩāļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™āđāļ•āđˆāļĨāļ°āļĢāļēāļĒāļāļēāļĢ

āļāļēāļĢāļāļĨāļąāđˆāļ™āđ‚āļĄāđ€āļ”āļĨ: āđāļ—āļ™āļ—āļĩāđˆāļāļēāļĢāļ›āļĢāļąāļšāļ‚āļ™āļēāļ” āđ€āļ—āļ„āļ™āļīāļ„āļāļēāļĢāļāļĨāļąāđˆāļ™āđ‚āļĄāđ€āļ”āļĨāļŠāļēāļĄāļēāļĢāļ–āļšāļĩāļšāļ­āļąāļ” LLMs āļ—āļĩāđˆāđƒāļŦāļāđˆāļĨāļ‡āđ€āļ›āđ‡āļ™āđ‚āļĄāđ€āļ”āļĨāļ—āļĩāđˆāđ€āļĨāđ‡āļāđāļĨāļ°āđƒāļŠāđ‰āļ‡āļēāļ™āđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡āļĄāļĩāļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļžāļĄāļēāļāļ‚āļķāđ‰āļ™ āđƒāļ™āļ‚āļ“āļ°āđ€āļ”āļĩāļĒāļ§āļāļąāļ™āļāđ‡āļĢāļąāļāļĐāļēāļ„āļ§āļēāļĄāđāļĄāđˆāļ™āļĒāļģāļŠāļđāļ‡āđ„āļ§āđ‰

āļāļēāļĢāđāļ„āļŠāđāļĨāļ°āļĢāļąāļ™āđ„āļ—āļĄāđŒāļ—āļĩāđˆāđ„āļ”āđ‰āļĢāļąāļšāļāļēāļĢāļ›āļĢāļąāļšāđƒāļŦāđ‰āđ€āļŦāļĄāļēāļ°āļŠāļĄ: āļĢāļąāļ™āđ„āļ—āļĄāđŒāđ€āļŠāļīāļ‡āļĨāļķāļāļ—āļĩāđˆāđ„āļ”āđ‰āļĢāļąāļšāļāļēāļĢāļ›āļĢāļąāļšāđƒāļŦāđ‰āđ€āļŦāļĄāļēāļ°āļŠāļĄ āđ€āļŠāđˆāļ™ TensorRT āļ‚āļ­āļ‡ NVIDIA (NVDA ) āđāļĨāļ°āđ€āļŸāļĢāļĄāđ€āļ§āļīāļĢāđŒāļāļ—āļĩāđˆāļ­āļ­āļāđāļšāļšāļĄāļēāđ€āļžāļ·āđˆāļ­āļāļēāļĢāđƒāļŦāđ‰āļšāļĢāļīāļāļēāļĢ LLMs (āđ€āļŠāđˆāļ™ Composable Inference Suite āļ‚āļ­āļ‡ MosaicML) āļŠāļēāļĄāļēāļĢāļ–āđƒāļŦāđ‰āļāļēāļĢāđ€āļžāļīāđˆāļĄāļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļžāļ—āļĩāđˆāļŠāļģāļ„āļąāļāļœāđˆāļēāļ™āđ€āļ—āļ„āļ™āļīāļ„ āđ€āļŠāđˆāļ™ āļāļēāļĢāļĢāļ§āļĄāļ•āļąāļ§āļ”āļģāđ€āļ™āļīāļ™āļāļēāļĢ āļāļēāļĢāļ›āļĢāļąāļšāđƒāļŦāđ‰āđ€āļŦāļĄāļēāļ°āļŠāļĄāļ‚āļ­āļ‡āđ€āļ„āļ­āļĢāđŒāđ€āļ™āļĨ āđāļĨāļ°āļāļĨāļĒāļļāļ—āļ˜āđŒāļāļēāļĢāđāļ„āļŠāļ—āļĩāđˆāļŠāļēāļāļ‰āļĨāļēāļ”

āđ€āļŠāđ‰āļ™āļ—āļēāļ‡āļŠāļđāđˆāļāļēāļĢ_deploy LLMs āļ—āļĩāđˆāđ€āļŦāļĄāļēāļ°āļŠāļĄāļĄāļąāļāđ€āļāļĩāđˆāļĒāļ§āļ‚āđ‰āļ­āļ‡āļāļąāļšāļāļēāļĢāļĢāļ§āļĄāđ€āļ—āļ„āļ™āļīāļ„āļŦāļĨāļēāļĒāļ­āļĒāđˆāļēāļ‡āđƒāļ™āļ‚āļ“āļ°āļ—āļĩāđˆāļžāļīāļˆāļēāļĢāļ“āļēāļ„āļ§āļēāļĄāļ•āđ‰āļ­āļ‡āļāļēāļĢāđ€āļ‰āļžāļēāļ°āļ‚āļ­āļ‡āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āļ‚āļ­āļ‡āļ„āļļāļ“ āļ‚āđ‰āļ­āļˆāļģāļāļąāļ”āļ‚āļ­āļ‡āđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡āļžāļ·āđ‰āļ™āļāļēāļ™ āđāļĨāļ°āđ€āļ›āđ‰āļēāļŦāļĄāļēāļĒāļāļēāļĢāđāļŠāļ”āļ‡āļœāļĨ

āļŠāļĢāļļāļ›

āđ€āļĄāļ·āđˆāļ­ LLMs āļĒāļąāļ‡āļ„āļ‡āļžāļąāļ’āļ™āļēāļ­āļĒāđˆāļēāļ‡āļĢāļ§āļ”āđ€āļĢāđ‡āļ§ āļāļēāļĢāđ€āļĢāđˆāļ‡āļ„āļ§āļēāļĄāđ€āļĢāđ‡āļ§āđƒāļ™āļāļēāļĢāļ­āļ™āļļāļĄāļēāļ™āļ‚āļ­āļ‡āļžāļ§āļāļĄāļąāļ™āļˆāļķāļ‡āļĄāļĩāļ„āļ§āļēāļĄāļŠāļģāļ„āļąāļāļĄāļēāļāļ‚āļķāđ‰āļ™āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™āļˆāļĢāļīāļ‡āđāļĨāļ°āļ—āļģāđƒāļŦāđ‰āļŠāļēāļĄāļēāļĢāļ–āđ€āļ‚āđ‰āļēāļ–āļķāļ‡ AI āļ—āļĩāđˆāļ—āļĢāļ‡āļžāļĨāļąāļ‡āđ€āļŦāļĨāđˆāļēāļ™āļĩāđ‰āđ„āļ”āđ‰āļāļ§āđ‰āļēāļ‡āļ‚āļķāđ‰āļ™

āđƒāļ™āļ„āļđāđˆāļĄāļ·āļ­āļ—āļēāļ‡āđ€āļ—āļ„āļ™āļīāļ„āļ™āļĩāđ‰ āđ€āļĢāļēāđ„āļ”āđ‰āļŠāļģāļĢāļ§āļˆāđ€āļ—āļ„āļ™āļīāļ„āļ—āļĩāđˆāļ—āļąāļ™āļŠāļĄāļąāļĒāļ•āļąāđ‰āļ‡āđāļ•āđˆāļāļēāļĢāļ›āļĢāļąāļšāļ‚āļ™āļēāļ”āļ„āļ§āļēāļĄāđāļĄāđˆāļ™āļĒāļģāļ—āļēāļ‡āļ„āļ“āļīāļ•āļĻāļēāļŠāļ•āļĢāđŒ āđ„āļ›āļˆāļ™āļ–āļķāļ‡āļāļĨāđ„āļāļāļēāļĢāļ”āļķāļ‡āļ„āļ§āļēāļĄāļŠāļ™āđƒāļˆāđƒāļŦāļĄāđˆāđ† āđāļĨāļ°āļ™āļ§āļąāļ•āļāļĢāļĢāļĄāļ—āļēāļ‡āļŠāļ–āļēāļ›āļąāļ•āļĒāļāļĢāļĢāļĄāļ—āļĩāđˆāļ­āļ­āļāđāļšāļšāļĄāļēāđ‚āļ”āļĒāđ€āļ‰āļžāļēāļ°āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļ—āļĩāđˆāļĄāļĩāļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļž āđāļĄāđ‰āļ§āđˆāļēāđāļ•āđˆāļĨāļ°āđāļ™āļ§āļ—āļēāļ‡āļˆāļ°āļĄāļĩāļ‚āđ‰āļ­āļ”āļĩāļ‚āļ­āļ‡āļ•āļ™āđ€āļ­āļ‡ āđāļ•āđˆāļžāļĨāļąāļ‡āļ—āļĩāđˆāđāļ—āđ‰āļˆāļĢāļīāļ‡āļĄāļąāļāļ­āļĒāļđāđˆāđƒāļ™āļāļēāļĢāļĢāļ§āļĄāđ€āļ—āļ„āļ™āļīāļ„āđ€āļŦāļĨāđˆāļēāļ™āļĩāđ‰āđ€āļ‚āđ‰āļēāļ”āđ‰āļ§āļĒāļāļąāļ™

āđ€āļĄāļ·āđˆāļ­āļĄāļ­āļ‡āđ„āļ›āļ‚āđ‰āļēāļ‡āļŦāļ™āđ‰āļē āđ€āļĢāļēāļŠāļēāļĄāļēāļĢāļ–āļ„āļēāļ”āļŦāļ§āļąāļ‡āļāļēāļĢāļ§āļīāļˆāļąāļĒāđāļĨāļ°āļžāļąāļ’āļ™āļēāļ—āļĩāđˆāļĒāļąāļ‡āļ„āļ‡āļ”āļģāđ€āļ™āļīāļ™āļ•āđˆāļ­āđ„āļ›āđƒāļ™āļ”āđ‰āļēāļ™āļ™āļĩāđ‰ āļ‹āļķāđˆāļ‡āđ„āļ”āđ‰āļĢāļąāļšāđāļĢāļ‡āļœāļĨāļąāļāļ”āļąāļ™āļˆāļēāļāļ„āļ§āļēāļĄāļ•āđ‰āļ­āļ‡āļāļēāļĢāļ—āļĩāđˆāđ„āļĄāđˆāļŦāļĒāļļāļ”āļĒāļąāđ‰āļ‡āļŠāļģāļŦāļĢāļąāļš LLMs āļ—āļĩāđˆāļĄāļĩāļ„āļ§āļēāļĄāļŠāļēāļĄāļēāļĢāļ–āļĄāļēāļāļ‚āļķāđ‰āļ™āđāļĨāļ°āļŠāļēāļĄāļēāļĢāļ–āđ€āļ‚āđ‰āļēāļ–āļķāļ‡āđ„āļ”āđ‰āļĄāļēāļāļ‚āļķāđ‰āļ™ āļ•āļąāđ‰āļ‡āđāļ•āđˆāļāļēāļĢāđ€āļĢāđˆāļ‡āļ„āļ§āļēāļĄāđ€āļĢāđ‡āļ§āļŪāļēāļĢāđŒāļ”āđāļ§āļĢāđŒ āļāļēāļĢāļšāļĩāļšāļ­āļąāļ”āđ‚āļĄāđ€āļ”āļĨ āđ„āļ›āļˆāļ™āļ–āļķāļ‡āļŠāļ–āļēāļ›āļąāļ•āļĒāļāļĢāļĢāļĄāđƒāļŦāļĄāđˆāđ† āļ—āļąāđ‰āļ‡āļŦāļĄāļ” āļāļēāļĢāđāļŠāļ§āļ‡āļŦāļēāļāļēāļĢāļ­āļ™āļļāļĄāļēāļ™ LLMs āļ—āļĩāđˆāļĄāļĩāļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļžāļĒāļąāļ‡āļ„āļ‡āđ€āļ›āđ‡āļ™āđāļ™āļ§āļŦāļ™āđ‰āļēāđƒāļ™āđ‚āļĨāļāļ‚āļ­āļ‡āļāļēāļĢāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāļ āļēāļĐāļēāļ˜āļĢāļĢāļĄāļŠāļēāļ•āļīāđāļĨāļ°āļ›āļąāļāļāļēāļ›āļĢāļ°āļ”āļīāļĐāļāđŒ

āļ‰āļąāļ™āđƒāļŠāđ‰āđ€āļ§āļĨāļēāļ—āļĩāđˆāļœāđˆāļēāļ™āļĄāļē 5 āļ›āļĩāđƒāļ™āļāļēāļĢāļĻāļķāļāļĐāļēāļŠāļīāđˆāļ‡āļ—āļĩāđˆāļ™āđˆāļēāļŠāļ™āđƒāļˆāđ€āļāļĩāđˆāļĒāļ§āļāļąāļš Machine Learning āđāļĨāļ° Deep Learning āļ„āļ§āļēāļĄāđ€āļŠāļĩāđˆāļĒāļ§āļŠāļēāļāđāļĨāļ°āļ„āļ§āļēāļĄāļŦāļĨāļ‡āđƒāļŦāļĨāļ‚āļ­āļ‡āļ‰āļąāļ™āļ—āļģāđƒāļŦāđ‰āļ‰āļąāļ™āđ€āļ‚āđ‰āļēāļĢāđˆāļ§āļĄāđƒāļ™āđ‚āļ„āļĢāļ‡āļāļēāļĢāļžāļąāļ’āļ™āļēāļ‹āļ­āļŸāļ•āđŒāđāļ§āļĢāđŒāļĄāļēāļāļāļ§āđˆāļē 50 āđ‚āļ„āļĢāļ‡āļāļēāļĢāļ—āļĩāđˆāļĄāļĩāļ„āļ§āļēāļĄāļŦāļĨāļēāļāļŦāļĨāļēāļĒ āđ‚āļ”āļĒāļĄāļļāđˆāļ‡āđ€āļ™āđ‰āļ™āđ„āļ›āļ—āļĩāđˆ AI/ML āļ„āļ§āļēāļĄāļ­āļĒāļēāļāļĢāļđāđ‰āļ­āļĒāļēāļāđ€āļŦāđ‡āļ™āļ‚āļ­āļ‡āļ‰āļąāļ™āļĒāļąāļ‡āļ—āļģāđƒāļŦāđ‰āļ‰āļąāļ™āļŠāļ™āđƒāļˆāđƒāļ™āļ”āđ‰āļēāļ™ Natural Language Processing āļ‹āļķāđˆāļ‡āđ€āļ›āđ‡āļ™āļŠāļēāļ‚āļēāļ—āļĩāđˆāļ‰āļąāļ™āļ•āđ‰āļ­āļ‡āļāļēāļĢāļŠāļģāļĢāļ§āļˆāļ•āđˆāļ­āđ„āļ›