model multi-turn?

#2
by NickyNicky - opened

Is this a model that does not accept multi-turn?

thanks

example

<|im_start|>system
Eres un agente experto en finanzas<|im_end|>
<|im_start|>user
**noticia:**
El Banco de la Reserva de Sudáfrica va a empezar a regular las criptomonedas como activos financieros en los próximos 18 meses, y los exchanges esperan que la medida impulse la adopción en el país.
El Banco de la Reserva de Sudáfrica (SARB) lleva tiempo hablando de clasificar las criptomonedas como activos financieros y no como divisas .
El vicegobernador Kuben Chetty confirmó que la nueva normativa entrará en vigor a lo largo del próximo año, en un diálogo en línea celebrado el lunes.
Los mejores golfistas de África disputarán premios en bitcoin en el Sunshine Tour El espacio de las criptomonedas se ha dejado desarrollar orgánicamente en Sudáfrica, sin que el SARB haya emitido una normativa clara hasta hace poco.
El país se ha convertido en líder en la adopción de criptomonedas, y se calcula que más de 6 millones de sudafricanos poseen alguna criptomoneda.
Ahora que el SARB ha adoptado finalmente una postura respecto al ecosistema, los exchanges, los traders y los inversores pueden empezar a hacer balance de las ramificaciones .
Cointelegraph se puso en contacto con destacados exchanges que operan en el país para calibrar la percepción de la actitud reguladora del SARB.
¿Bitcoin no es una moneda? Sudáfrica regulará las criptomonedas como activos financieros Marius Reitz, director general para África del exchange de criptomonedas global Luno, ha sido partidario de unos parámetros reguladores claros para la industria de las criptomonedas .
En correspondencia con Cointelegraph, Reitz acogió con satisfacción la medida reguladora y considera que creará un entorno más seguro para los usuarios en el país: 'Requerirá que los proveedores de servicios de criptoactivos (CASP) obtengan licencias de FSP y será más fácil para el público identificar una plataforma confiable y con licencia.
Creará una barrera de entrada para esas plataformas sin tener en cuenta la seguridad de los fondos de los clientes y la información de los clientes'.
Reitz dijo que Luno estaba en una posición afortunada para adelantarse a los cambios regulatorios en Sudáfrica, dado que la compañía opera en una variedad de mercados a nivel mundial que ya tienen directrices regulatorias estrictas como Malasia y Singapur.
Expertos opinan sobre las nuevas regulaciones de criptomonedas en Sudáfrica El director general de Luno para África dijo que el cumplimiento de los nuevos parámetros normativos no requeriría un cambio radical en sus procesos, aparte de los matices específicos de cada país.
Luno ya lleva a cabo comprobaciones de conocimiento del cliente (KYC), revisiones de sanciones y medidas contra el blanqueo de dinero (AML) y la financiación del terrorismo (CTF).
Reitz también sugirió que más exchanges podrían hacer uso de la verificación de proof-of-reserves (prueba de reservas).
Aunque no es obligatorio por ley, Luno llevó a cabo una auditoría de sus tenencias de criptomonedas para confirmar la custodia de los activos de los clientes, con el fin de ofrecer un nivel de confianza adicional a los clientes.
También es lo mismo para VALR, otro exchange de criptomonedas sudafricano que se ha convertido rápidamente en una plataforma de confianza para los traders y usuarios de criptomonedas locales.
El CEO Farzam Ehsani dijo a Cointelegraph que la compañía ya se está comportando como una entidad regulada, adoptando controles KYC y un programa de gestión de riesgos y cumplimiento.
VALR también cuenta con políticas AML y CTF y ha trabajado con las autoridades para combatir el movimiento ilícito de fondos.
Ehsani confía en que el desarrollo de la normativa para este sector no conduzca a controles asfixiantes, ya que está previsto que el sector se incluya en el ámbito del Centro de Inteligencia Financiera: 'VALR ya está registrada en el Centro de Inteligencia Financiera y llevamos muchos años trabajando con la FIC, por lo que cualquier marco normativo oficial al respecto no hará sino formalizar lo que VALR ya tiene en marcha'.
El SARB sigue explorando el posible uso de una moneda digital del banco central (CBDC) a través de su iniciativa Proyecto Khokha.
Varios actores destacados del sector bancario tradicional de Sudáfrica han participado activamente en la proof-of-concept del sistema de liquidación de CBDC propuesto .
Aclaración: La información y/u opiniones emitidas en este artículo no representan necesariamente los puntos de vista o la línea editorial de Cointelegraph.
La información aquí expuesta no debe ser tomada como consejo financiero o recomendación de inversión.
Toda inversión y movimiento comercial implican riesgos y es responsabilidad de cada persona hacer su debida investigación antes de tomar una decisión de inversión Sigue leyendo: Los mejores golfistas de África disputarán premios en bitcoin en el Sunshine Tour ¿Bitcoin no es una moneda? Sudáfrica regulará las criptomonedas como activos financieros Expertos opinan sobre las nuevas regulaciones de criptomonedas en Sudáfrica El acelerador blockchain Startup Studio de IDEO incluye en su equipo a más de 50 mentores Encuesta de desarrolladores de StackOverflow: 80% de las organizaciones no usan blockchain En un AMA de Reddit, Binance Labs dice que la descentralización es un 'sector centrado en la inversión' Polygon se revaloriza un 22% por la euforia de la invitación de Disney — ¿se incrementará el precio de MATIC en julio?

Extrae los nombres de las empresas de criptomonedas que se mencionan en el texto.<|im_end|>
<|im_start|>assistant

Las empresas de criptomonedas mencionadas en el texto son Luno y VALR.<|im_end|>
<|im_start|>user
¿Qué medidas regulatorias se van a implementar en Sudáfrica para las criptomonedas?<|im_end|>
<|im_start|>assistant
Sudáfrica va a regular las criptomonedas como activos financieros, lo que significa que los exchanges de criptomonedas deberán obtener licencias de FSP (Financial Service Provider).<|im_end|>
<|im_start|>user
Menciona las ventajas que se esperan de la regulación para las empresas de criptomonedas.<|im_end|>
<|im_start|>assistant
La regulación creará un entorno más seguro para los usuarios, ya que los exchanges deberán cumplir con requisitos de KYC (Know Your Customer), AML (Anti-Money Laundering) y CTF (Combating the Financing of Terrorism). Además, facilitará la identificación de plataformas confiables y con licencia, creando una barrera de entrada para plataformas que no cumplan con los estándares de seguridad.<|im_end|>
<|im_start|>user
¿Qué medidas de seguridad ya implementan las empresas mencionadas?<|im_end|>
<|im_start|>assistant
Tanto Luno como VALR ya implementan medidas KYC, AML y CTF, y también realizan auditorías de prueba de reservas para confirmar la custodia de los activos de los clientes.<|im_end|>
<|im_start|>user
Explica brevemente el Proyecto Khokha.<|im_end|>
<|im_start|>assistant
El Proyecto Khokha es una iniciativa del Banco de la Reserva de Sudáfrica para explorar el posible uso de una moneda digital del banco central (CBDC).<|im_end|>
<|im_start|>user
¿Qué impacto se espera que tenga la regulación en la adopción de criptomonedas en Sudáfrica?<|im_end|>
<|im_start|>assistant
Se espera que la regulación impulse la adopción de criptomonedas en Sudáfrica, ya que creará un entorno más seguro y confiable para los usuarios. Además, la regulación podría atraer más inversión extranjera al sector.<|im_end|>```

When I go to do a training with that data I get the following error

==((====))==  Unsloth - 2x faster free finetuning | Num GPUs = 1
   \\   /|    Num examples = 10,520 | Num Epochs = 3
O^O/ \_/ \    Batch size per device = 2 | Gradient Accumulation steps = 2
\        /    Total batch size = 4 | Total steps = 5,420
 "-____-"     Number of trainable parameters = 74,504,192
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
Cell In[15], line 1
----> 1 orpo_trainer.train()

File /usr/local/lib/python3.10/dist-packages/transformers/trainer.py:1885, in Trainer.train(self, resume_from_checkpoint, trial, ignore_keys_for_eval, **kwargs)
   1883         hf_hub_utils.enable_progress_bars()
   1884 else:
-> 1885     return inner_training_loop(
   1886         args=args,
   1887         resume_from_checkpoint=resume_from_checkpoint,
   1888         trial=trial,
   1889         ignore_keys_for_eval=ignore_keys_for_eval,
   1890     )

File <string>:321, in _fast_inner_training_loop(self, batch_size, args, resume_from_checkpoint, trial, ignore_keys_for_eval)

File /usr/local/lib/python3.10/dist-packages/accelerate/data_loader.py:454, in DataLoaderShard.__iter__(self)
    452 # We iterate one batch ahead to check when we are at the end
    453 try:
--> 454     current_batch = next(dataloader_iter)
    455 except StopIteration:
    456     yield

File /usr/local/lib/python3.10/dist-packages/torch/utils/data/dataloader.py:631, in _BaseDataLoaderIter.__next__(self)
    628 if self._sampler_iter is None:
    629     # TODO(https://github.com/pytorch/pytorch/issues/76750)
    630     self._reset()  # type: ignore[call-arg]
--> 631 data = self._next_data()
    632 self._num_yielded += 1
    633 if self._dataset_kind == _DatasetKind.Iterable and \
    634         self._IterableDataset_len_called is not None and \
    635         self._num_yielded > self._IterableDataset_len_called:

File /usr/local/lib/python3.10/dist-packages/torch/utils/data/dataloader.py:675, in _SingleProcessDataLoaderIter._next_data(self)
    673 def _next_data(self):
    674     index = self._next_index()  # may raise StopIteration
--> 675     data = self._dataset_fetcher.fetch(index)  # may raise StopIteration
    676     if self._pin_memory:
    677         data = _utils.pin_memory.pin_memory(data, self._pin_memory_device)

File /usr/local/lib/python3.10/dist-packages/torch/utils/data/_utils/fetch.py:54, in _MapDatasetFetcher.fetch(self, possibly_batched_index)
     52 else:
     53     data = self.dataset[possibly_batched_index]
---> 54 return self.collate_fn(data)

File /usr/local/lib/python3.10/dist-packages/trl/trainer/utils.py:338, in DPODataCollatorWithPadding.__call__(self, features)
    336     to_pad = [torch.LongTensor(ex[k][::-1]) for ex in features]
    337 else:
--> 338     to_pad = [torch.LongTensor(ex[k]) for ex in features]
    339 if k.endswith("_input_ids"):
    340     if self.pad_token_id is None:

File /usr/local/lib/python3.10/dist-packages/trl/trainer/utils.py:338, in <listcomp>(.0)
    336     to_pad = [torch.LongTensor(ex[k][::-1]) for ex in features]
    337 else:
--> 338     to_pad = [torch.LongTensor(ex[k]) for ex in features]
    339 if k.endswith("_input_ids"):
    340     if self.pad_token_id is None:

TypeError: 'NoneType' object cannot be interpreted as an integer

Update: after this PR in trl, the following is no longer needed.

on this line https://huggingface.co/Qwen/Qwen2-1.5B-Instruct/blob/main/tokenizer_config.json#L30
change null to "<|endoftext|>"

it appears that the framework somehow added a bos token to the input (which it should not, but setting it to "<|endoftext|>" should make no more harm)

Sign up or log in to comment