/ Модель

Характеристики

Контекст
8 192 токена
Параметры
2,5 млрд
Размер весов
5 ГБ
Архитектура
gemma · dense
Библиотека
transformers
Опубликована
7 июн 2024

Financial_graph

Генерация текстаТекст → текст3 профессии

Диалоговая модель Gemma для анализа финансовых новостей и рыночной информации на испанском и английском языках, включая работу с графами JSON.

30скачиваний за 30 дней2лайкавеса обновлены8 июн 2024

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Тесты пользователейпока нет

Никто ещё не опубликовал тест этой модели. Соберите бенчмарк из своих задач — результат появится здесь.

  1. Добавьте модель в бенчмарк

    Вместе с другими моделями категории «Текст» — сравнение идёт внутри одной категории.

  2. Опишите свои задачи

    Напишите запросы, при необходимости приложите файлы и эталонные ответы.

  3. Запустите и опубликуйте

    Модели ответят на каждую задачу, судья оценит ответы. Опубликованный результат появится на этой странице.

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

NickyNicky/Financial_graph — диалоговая языковая модель на архитектуре Gemma, предназначенная для понимания и анализа финансовых новостей и информации о фондовом рынке. Она может разбирать биржевые тенденции, экономические отчёты и инвестиционный анализ, а также работать с графами в формате JSON для их визуализации и анализа.

Модель содержит 2,5 млрд параметров, использует библиотеку Transformers и принимает контекст длиной до 8192 токенов. Заявлена поддержка испанского и английского языков. Веса опубликованы в формате safetensors. README не уточняет базовую модель, лицензию и результаты оценки качества.

Сценарии применения

  • анализ новостей о фондовом рынке
  • разбор биржевых тенденций
  • понимание экономических отчётов
  • обсуждение инвестиционного анализа
  • анализ структур графов в JSON

Ограничения

README не приводит результатов оценки качества или подробных ограничений применения. Условия лицензии в доступных сведениях не указаны.

Для каких профессий подходит3

Разделы каталога профессий, в задачах которых используется эта модель

Все профессии

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

image/png

Descripcion.

Este modelo de IA es competente en la comprensión y análisis de noticias financieras y de la bolsa de valores. Puede interpretar y procesar información relacionada con los mercados financieros, incluyendo tendencias bursátiles, informes económicos y análisis de inversiones. Además, tiene la capacidad de comprender y comunicarse de manera efectiva tanto en español como en inglés, lo que le permite interactuar con usuarios y fuentes de información en ambos idiomas de manera fluida. Asimismo, el modelo puede trabajar con grafos en formato JSON, permitiendo la visualización y análisis de estructuras de datos.

Code.

import torch,gc

import transformers
from transformers import AutoModelForCausalLM, AutoTokenizer, TrainingArguments, BitsAndBytesConfig
from datasets import load_dataset
from peft import LoraConfig, PeftModel, get_peft_model, prepare_model_for_kbit_training

from transformers import (
    AutoModelForCausalLM,
    AutoTokenizer,
    BitsAndBytesConfig,
    HfArgumentParser,
    TrainingArguments,
    pipeline,
    logging,
    GenerationConfig,
    TextIteratorStreamer,
)

from transformers import StoppingCriteria, StoppingCriteriaList

import os


model_id="NickyNicky/Financial_graph"

max_seq_length=4048

tokenizer = AutoTokenizer.from_pretrained(model_id,
                                          token=access_token,
                                          max_length=max_seq_length)
model = AutoModelForCausalLM.from_pretrained(model_id,
                                            #  quantization_config=bnb_config,
                                             device_map={"":0},
                                             token=access_token,
                                             attn_implementation="flash_attention_2",
                                             torch_dtype=torch.bfloat16
                                             ).eval()



# dpo_trainer.model.config.use_cache = True  # silence the warnings. Please re-enable for inference!
# tokenizer.padding_side='left'

class ListOfTokensStoppingCriteria(StoppingCriteria):
    """
    Clase para definir un criterio de parada basado en una lista de tokens específicos.
    """
    def __init__(self, tokenizer, stop_tokens):
        self.tokenizer = tokenizer
        # Codifica cada token de parada y guarda sus IDs en una lista
        self.stop_token_ids_list = [tokenizer.encode(stop_token, add_special_tokens=False) for stop_token in stop_tokens]

    def __call__(self, input_ids, scores, **kwargs):
        # Verifica si los últimos tokens generados coinciden con alguno de los conjuntos de tokens de parada
        for stop_token_ids in self.stop_token_ids_list:
            len_stop_tokens = len(stop_token_ids)
            if len(input_ids[0]) >= len_stop_tokens:
                if input_ids[0, -len_stop_tokens:].tolist() == stop_token_ids:
                    return True
        return False

# Uso del criterio de parada personalizado
stop_tokens = ["<end_of_turn>"]  # Lista de tokens de parada

# Inicializa tu criterio de parada con el tokenizer y la lista de tokens de parada
stopping_criteria = ListOfTokensStoppingCriteria(tokenizer, stop_tokens)

# Añade tu criterio de parada a una StoppingCriteriaList
stopping_criteria_list = StoppingCriteriaList([stopping_criteria])



prompt= """<bos><start_of_turn>system
Eres un agente experto en finanzas multilenguaje.<end_of_turn>
<start_of_turn>user
**news:**
In a sudden decision, investment firm 21Shares submitted a filing to the Securities and Exchange Commission in the late afternoon of Friday, May 31, to rename its proposed spot Ether 
ETH
tickers down
$3,686
exchange-traded fund (ETF) and to remove ARK Invest from the application.
A spokesperson for ARK Invest later confirmed the firm decided not to move forward with the crypto product, citing a need to reassess its investment strategy. The move raised concerns among the crypto community concerning the short-term viability of the newly approved ETFs.
During an interview on June 5, United States Securities and Exchange Commission (SEC) Chair Gary Gensler suggested a delay in final approvals for asset managers. ETFs will “take some time,” said Gensler. The SEC has yet to sign off on S-1 registration statements from applicants.
ARK Invest and 21Shares will remain partners on their spot Bitcoin 
BTC
tickers down
$69,346
ETF, launched in January.
This week’s Crypto Biz also explores Galaxy Digital’s tokenized loan for Animoca Brands, Avail’s fundraising, the Toposware acquisition, and Bitcoin miners’ first reports since the halving.
Galaxy Digital uses historic violin NFT to secure loan
Michael Novogratz’s Galaxy Digital and Animoca Brands co-founder Yat Siu have tokenized a Stradivarius violin from 1708 to use as collateral for a multimillion-dollar loan. On June 4, Galaxy reportedly lent an undisclosed amount of funds to Siu, who used the 316-year-old violin he owned as collateral. The digital assets firm turned the violin into a nonfungible token (NFT) and will hold the NFT and the physical version until Siu settles the loan. The violin once belonged to the Russian Empress Catherine the Great.

genera un grafo de razonamiento que contenga nodes: 10 y edges: 20<end_of_turn>
<start_of_turn>model
"""

input= tokenizer(prompt,
                 return_tensors="pt",
                 add_special_tokens=False).to(model.device)

max_new_tokens=1500
generation_config = GenerationConfig(
              max_new_tokens = max_new_tokens,
              temperature = .3,
              # top_p=0.55,
              # top_k = 50,
              # repetition_penalty = 1.1,
              do_sample=True,
          )
outputs = model.generate(**input,
                         generation_config=generation_config,
                         stopping_criteria=stopping_criteria_list,
                        )
print(tokenizer.decode(outputs[0], skip_special_tokens=False) )

##output:
# {'nodes': [{'entity': 'ARK Invest', 'type': 'Organization'}, {'entity': '21Shares', 'type': 'Organization'}, {'entity': 'SEC', 'type': 'Organization'}, {'entity': 'Gary Gensler', 'type': 'Person'}, {'entity': 'United States Securities and Exchange Commission', 'type': 'Organization'}, {'entity': 'Galaxy Digital', 'type': 'Organization'}, {'entity': 'Animoca Brands', 'type': 'Organization'}, {'entity': 'Toposware', 'type': 'Organization'}, {'entity': 'Bitcoin miners', 'type': 'Organization'}, {'entity': 'S-1 registration statements', 'type': 'Document'}], 'edges': [{'from': 'ARK Invest', 'to': '21Shares', 'relation': 'ASSOCIATED_WITH'}, {'from': 'ARK Invest', 'to': 'SEC', 'relation': 'ASSOCIATED_WITH'}, {'from': 'ARK Invest', 'to': 'Gary Gensler', 'relation': 'ASSOCIATED_WITH'}, {'from': '21Shares', 'to': 'SEC', 'relation': 'ASSOCIATED_WITH'}, {'from': '21Shares', 'to': 'Gary Gensler', 'relation': 'ASSOCIATED_WITH'}, {'from': 'SEC', 'to': 'Gary Gensler', 'relation': 'WORKED_AT'}, {'from': 'SEC', 'to': 'United States Securities and Exchange Commission', 'relation': 'PART_OF'}, {'from': 'Galaxy Digital', 'to': 'Animoca Brands', 'relation': 'ASSOCIATED_WITH'}, {'from': 'Galaxy Digital', 'to': 'Toposware', 'relation': 'ASSOCIATED_WITH'}, {'from': 'Galaxy Digital', 'to': 'Bitcoin miners', 'relation': 'ASSOCIATED_WITH'}, {'from': 'Galaxy Digital', 'to': 'S-1 registration statements', 'relation': 'ASSOCIATED_WITH'}, {'from': 'Animoca Brands', 'to': 'Toposware', 'relation': 'ASSOCIATED_WITH'}, {'from': 'Toposware', 'to': 'Bitcoin miners', 'relation': 'ASSOCIATED_WITH'}, {'from': 'Bitcoin miners', 'to': 'S-1 registration statements', 'relation': 'ASSOCIATED_WITH'}, {'from': 'S-1 registration statements', 'to': 'SEC', 'relation': 'ASSOCIATED_WITH'}, {'from': 'S-1 registration statements', 'to': 'Galaxy Digital', 'relation': 'ASSOCIATED_WITH'}, {'from': 'S-1 registration statements', 'to': 'Animoca Brands', 'relation': 'ASSOCIATED_WITH'}, {'from': 'S-1 registration statements', 'to': 'Toposware', 'relation': 'ASSOCIATED_WITH'}, {'from': 'S-1 registration statements', 'to': 'Bitcoin miners', 'relation': 'ASSOCIATED_WITH'}, {'from': 'S-1 registration statements', 'to': '21Shares', 'relation': 'ASSOCIATED_WITH'}]}

image/png

image/png

https://huggingface.co/NickyNicky/Financial_graph/blob/main/3d_graph%20(1).html

image/png

better than BloombergGPT :V

colab

https://colab.research.google.com/drive/1-D7kgig6ODqhjCPaQBrZ8QG2OWsS29ML?usp=sharing

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм · transformers

Можно запустить

Подбираем GPU…

Класс архитектуры
GemmaForCausalLM
Ревизия весов
d8cc334

0 моделей