Salesforce AI Research präsentiert xGen-MM BLIP-3 als neuen Spitzenreiter auf Hugging Face

Kategorien:
No items found.
Freigegeben:
August 20, 2024

Salesforce AI Research stellt xGen-MM (BLIP-3) vor: Neuer Spitzenreiter auf Hugging Face

Einführung

Im Bereich der Künstlichen Intelligenz (KI) gibt es einen neuen Meilenstein: Das Salesforce AI Research Team hat kürzlich das xGen-MM (auch bekannt als BLIP-3) veröffentlicht. Dieses neue Framework für Large Multimodal Models (LMMs) hat sofort die Spitze der Rangliste auf Hugging Face erobert. In diesem Artikel werfen wir einen detaillierten Blick auf die Merkmale, die Entwicklung und die Bedeutung dieses neuen Modells.

Was ist xGen-MM?

Das xGen-MM Framework ist ein umfassendes System zur Entwicklung von Large Multimodal Models. Es umfasst sorgfältig kuratierte Datensätze, eine Trainingsrezeptur, Modellarchitekturen und eine Reihe von LMMs. xGen-MM steht für xGen-MultiModal und erweitert die Salesforce xGen-Initiative auf Foundation AI-Modelle. Die Modelle wurden rigoros auf einer Vielzahl von Aufgaben getestet, sowohl bei Einzel- als auch bei Multi-Bild-Benchmarks.

Merkmale des xGen-MM Frameworks

Das xGen-MM Framework bietet eine Reihe von herausragenden Merkmalen:

  • Sorgfältig kuratierte Datensätze zur Gewährleistung hoher Qualität
  • Eine umfassende Trainingsrezeptur zur Optimierung der Modellleistung
  • Verschiedene Modellarchitekturen, die für unterschiedliche Anwendungsfälle optimiert sind
  • Sicherheitstuning mit dem Ziel, schädliche Verhaltensweisen wie Halluzinationen zu minimieren

Leistung und Evaluation

Die xGen-MM Modelle haben in verschiedenen Evaluationsszenarien hervorragende Leistungen gezeigt. Der vortrainierte Basismodell zeigt starke In-Context-Lernfähigkeiten, während das instruktionsgetunte Modell eine wettbewerbsfähige Leistung im Vergleich zu anderen Open-Source LMMs ähnlicher Größe aufweist.

Ergebnisse der Evaluierung

Die nachfolgende Tabelle zeigt die Leistung einiger xGen-MM Modelle im Vergleich zu anderen Modellen:

  • Flamingo-3B: COCO (val): 85.0, NoCaps (val): -, TextCaps (val): -, usw.
  • MM1-3B: COCO (val): 73.5, NoCaps (val): 55.6, TextCaps (val): 63.3, usw.
  • xgen-mm-phi3-mini-base-r-v1 (Ours): COCO (val): 81.7, NoCaps (val): 80.2, TextCaps (val): 60.7, usw.

Sicherheit und ethische Überlegungen

Ein wesentlicher Aspekt bei der Entwicklung von KI-Modellen ist die Sicherheit und die ethische Verantwortung. Salesforce hat bei der Entwicklung von xGen-MM großen Wert darauf gelegt, schädliche Verhaltensweisen zu minimieren. Das Modell wurde speziell darauf abgestimmt, Risiken wie Halluzinationen zu mindern und die Sicherheit zu verbessern. Die Hauptdatenquellen stammen aus dem Internet, einschließlich Webseiten und kuratierter Datensätze, wobei bestimmte Datenquellen aufgrund bekannter Risiken ausgeschlossen wurden.

Open-Source und Community-Beteiligung

Ein herausragendes Merkmal von xGen-MM ist seine Open-Source-Natur. Salesforce hat die Modelle, die kuratierten groß angelegten Datensätze und den Fine-Tuning-Code veröffentlicht, um weitere Fortschritte in der LMM-Forschung zu ermöglichen. Dies fördert die Transparenz und ermöglicht es Forschern und Entwicklern, auf der Grundlage dieser Ressourcen weiter zu experimentieren und zu innovieren.

Technische Details und Nutzung

Das xGen-MM Framework erfordert die Verwendung der Entwicklungsversion der Transformers-Bibliothek. Hier ist ein Beispiel für die Nutzung des xgen-mm-phi3-mini-instruct-r-v1 Modells:

      from transformers import AutoModelForVision2Seq, AutoTokenizer, AutoImageProcessor, StoppingCriteria
      import torch
      import requests
      from PIL import Image

      def apply_prompt_template(prompt):
          s = (
                  '<|system|>\\nA chat between a curious user and an artificial intelligence assistant. '
                  "The assistant gives helpful, detailed, and polite answers to the user's questions.<|end|>\\n"
                  f'<|user|>\\n\\n{prompt}<|end|>\\n<|assistant|>\\n'
              )
          return s 

      class EosListStoppingCriteria(StoppingCriteria):
          def __init__(self, eos_sequence = [32007]):
              self.eos_sequence = eos_sequence

          def __call__(self, input_ids: torch.LongTensor, scores: torch.FloatTensor, **kwargs) -> bool:
              last_ids = input_ids[:,-len(self.eos_sequence):].tolist()
              return self.eos_sequence in last_ids      

      model_name_or_path = "Salesforce/xgen-mm-phi3-mini-instruct-r-v1"
      model = AutoModelForVision2Seq.from_pretrained(model_name_or_path, trust_remote_code=True)
      tokenizer = AutoTokenizer.from_pretrained(model_name_or_path, trust_remote_code=True, use_fast=False, legacy=False)
      image_processor = AutoImageProcessor.from_pretrained(model_name_or_path, trust_remote_code=True)
      tokenizer = model.update_special_tokens(tokenizer)

      img_url = 'https://storage.googleapis.com/sfr-vision-language-research/BLIP/demo.jpg'
      raw_image = Image.open(requests.get(img_url, stream=True).raw).convert('RGB')
      query = "how many dogs are in the picture?"

      model = model.cuda()
      inputs = image_processor([raw_image], return_tensors="pt", image_aspect_ratio='anyres')
      prompt = apply_prompt_template(query)
      language_inputs = tokenizer([prompt], return_tensors="pt")
      inputs.update(language_inputs)
      inputs = {name: tensor.cuda() for name, tensor in inputs.items()}
      generated_text = model.generate(**inputs, image_size=[raw_image.size],
                                      pad_token_id=tokenizer.pad_token_id,
                                      do_sample=False, max_new_tokens=768, top_p=None, num_beams=1,
                                      stopping_criteria = [EosListStoppingCriteria()],
                                      )
      prediction = tokenizer.decode(generated_text[0], skip_special_tokens=True).split("<|end|>")[0]
      print("==> prediction: ", prediction)
    

Fazit

Das xGen-MM (BLIP-3) Framework von Salesforce AI Research markiert einen bedeutenden Fortschritt in der Entwicklung von Large Multimodal Models. Mit seinem Fokus auf hochwertige Datensätze, umfassende Trainingsmethoden und Sicherheitsaspekte stellt es eine wertvolle Ressource für die Forschung und Entwicklung im Bereich der KI dar. Die Open-Source-Natur des Frameworks ermöglicht es der Gemeinschaft, auf diesen Fortschritten aufzubauen und weitere Innovationen voranzutreiben.

Bibliografie

- https://huggingface.co/papers/2408.08872 - https://huggingface.co/Salesforce/xgen-mm-phi3-mini-instruct-r-v1 - https://huggingface.co/Salesforce/xgen-mm-phi3-mini-base-r-v1 - https://huggingface.co/papers - https://huggingface.co/blog/os-llms
Was bedeutet das?