Men Yuichi, Turing Inc. tadqiqotchisi (“X/Twitter @inoichan»)

Biz keng ko‘lamli multimodal o‘quv kutubxonamizning chiqarilishini e’lon qilishdan xursandmiz, u bir nechta tillarni, shu jumladan yapon tilini va 70B parametrgacha bo‘lgan modellar to‘plamini qo‘llab-quvvatlaydigan “Heron”.



Biz chiqargan multimodal model uchta asosiy komponentdan iborat; Vision Encoder, Large Language Model (LLM) va Adapter. U shunday yaratilganki, siz shunchaki adapterni o'rgatishingiz yoki LLM va Vision Encoderni o'rgatishingiz mumkin.

Konfiguratsiyani o'zgartirish orqali modelning o'qitish shartlarini osongina sozlashingiz mumkin. Trening haqida batafsil ma'lumot uchun bu yerda ga qarang.

Hozirgi vaqtda bizning adapterlarimiz ikkita turni qo'llab-quvvatlaydi: BLIP va GIT. Vision Encoder uchun BLIP WVA-CLIP bilan mos keladi va GIT OpenAI CLIP-ning bir nechta versiyalarini qo'llab-quvvatlaydi. LLM quyidagi til modellari bilan o'qitish uchun mo'ljallangan.

  • "LLama-2"
  • "MPT"
  • "OPT"
  • "GPT-NeoX"
  • "Yapon StableLM"
  • "ELYZA-yapon-Llama-2"

Quyida GIT-Llama2-ni M3IT-dan foydalangan holda o'rgatgan va keyinchalik uni LLaVA-ning ko'rsatmalarni sozlash ma'lumotlar to'plami bilan aniq sozlagan namuna natijasi keltirilgan.

Siz buni demomiz orqali sinab ko'rishingiz mumkin:



«Heron Chat Git – turing-motors tomonidan yaratilgan Quchoqlashgan yuz fazosi
Hamjamiyat tomonidan yaratilgan ajoyib ML ilovalarini kashf etinghuggingface.co”



Siz shunday xulosa chiqarishingiz mumkin;

import requests
from PIL import Image

import torch
from transformers import AutoProcessor
from heron.models.git_llm.git_llama import GitLlamaForCausalLM

device_id = 0

# prepare a pretrained model
model = GitLlamaForCausalLM.from_pretrained(
    'turing-motors/heron-chat-git-Llama-2-7b-v0', torch_dtype=torch.float16
)
model.eval()
model.to(f"cuda:{device_id}")

# prepare a processor
processor = AutoProcessor.from_pretrained('turing-motors/heron-chat-git-Llama-2-7b-v0')

# prepare inputs
url = "https://www.barnorama.com/wp-content/uploads/2016/12/03-Confusing-Pictures.jpg"
image = Image.open(requests.get(url, stream=True).raw)

text = f"##human: What is this picture?\n##gpt: "

# do preprocessing
inputs = processor(
    text,
    image,
    return_tensors="pt",
    truncation=True,
)
inputs = {k: v.to(f"cuda:{device_id}") for k, v in inputs.items()}

# set eos token
eos_token_id_list = [
    processor.tokenizer.pad_token_id,
    processor.tokenizer.eos_token_id,
]

# do inference
with torch.no_grad():
    out = model.generate(**inputs, max_length=256, do_sample=False, temperature=0., eos_token_id=eos_token_id_list)

# print result
print(processor.tokenizer.batch_decode(out)[0])

Shuningdek, biz yapon tilida koʻrsatmalarni sozlash uchun maʼlumotlar toʻplamini yaratdik. Bu LLaVA ning Instruct-150k ning yaponcha tarjimasi. Bu dialogli tasvirlarni o'z ichiga olgan yapon tilidagi birinchi ma'lumotlar to'plamidir. Mana namunaviy natija;

Siz ushbu demoni quyidagi havola orqali ham sinab ko'rishingiz mumkin.



«Heronチャットデモ - turing-motors tomonidan Quchoqlangan yuz maydoni
Hamjamiyat tomonidan yaratilgan ajoyib ML ilovalarini kashf etinghuggingface.co”



Biz ommaga taqdim etgan modellarga quyidagilar kiradi:

70B parametr modeli hali ham dastlabki bosqichda. Biz treningni davom ettiramiz va yangi modellar ishlab chiqilgach, biz ularni doimiy ravishda yuklaymiz. Shuningdek, biz o'z ta'lim uslublarimizni baham ko'rishni xohlaymiz.

Bundan tashqari, biz kelajakda Heronni yangilashni rejalashtirmoqdamiz, jumladan:

  • Baholash ko'rsatkichlarini qo'shing
  • Ko'p bosqichli ta'lim usullarini o'rnatish
  • Boshqa ma'lumotlar to'plamlarini qo'shing
  • Bir vaqtning o'zida ko'p tilli kontent bilan ishlay oladigan modellarni ishlab chiqish
  • Video modellarini yaxshilang

Keling, Heronni sinab ko'raylik! Agar siz qiziqsangiz, bizning postlarimizni kuzatib boring. Yangilanishlar va soʻnggi ishlanmalar uchun “X/Twitter”ni kuzatib boring.