ਇੱਕ ਫਾਰਸੀ ਸਿੰਥੈਟਿਕ ਡਾਟਾ ਪਾਈਪਲਾਈਨ ਨੂੰ ਡਿਜ਼ਾਈਨ ਕਰਨਾ

LLMs ਨੂੰ ਟ੍ਰੇਨ ਕਰਨਾ ਹੁਣ ਸਿਰਫ਼ ਮਾਡਲਾਂ ਨੂੰ ਵੱਡਾ ਕਰਨ ਬਾਰੇ ਨਹੀਂ ਰਿਹਾ। ਇਹ ਡਾਟਾ ਦੀ ਗੁਣਵੱਤਾ ਨੂੰ ਵਧਾਉਣ ਬਾਰੇ ਹੈ।

ਜ਼ਿਆਦਾਤਰ ਫਾਰਸੀ ਡੇਟਾ ਸੈੱਟਾਂ ਵਿੱਚ ਸੰਰਚਨਾ ਦੀ ਕਮੀ ਹੈ। ਇਸ ਕਾਰਨ ਮਾਡਲ ਹਦਾਇਤਾਂ ਦੀ ਪਾਲਣਾ ਕਰਨ ਵਿੱਚ ਅਸਫਲ ਰਹਿੰਦੇ ਹਨ। ਸਮੱਸਿਆ ਡਾਟਾ ਦੀ ਘਾਟ ਹੈ, ਨਾ ਕਿ ਮਾਡਲ ਦਾ ਆਕਾਰ।

ਮੈਂ ਇਸ ਨੂੰ ਹੱਲ ਕਰਨ ਲਈ ਇੱਕ ਪਾਈਪਲਾਈਨ ਬਣਾਈ ਹੈ। ਇਹ ਟੌਪਿਕ ਗ੍ਰਾਫਸ ਤੋਂ ਲੈ ਕੇ QLoRA fine tuning ਤੱਕ ਕੰਮ ਕਰਦੀ ਹੈ।

ਪਾਈਪਲਾਈਨ ਪ੍ਰਕਿਰਿਆ (The Pipeline Process):

  • ਟੌਪਿਕ ਟ੍ਰੀ (Topic Tree) ਦੀ ਸਿਰਜਣਾ
  • LLM ਜਨਰੇਸ਼ਨ
  • ਡਿਊਪਲੀਕੇਸ਼ਨ (Deduplication)
  • ਕੁਆਲਿਟੀ ਸਕੋਰਿੰਗ
  • ਡੇਟਾ ਸੈੱਟ ਐਕਸਪੋਰਟ
  • QLoRA Fine Tuning
  • ਮੁਲਾਂਕਣ (Evaluation)

ਮੁੱਖ ਡਿਜ਼ਾਈਨ ਨਿਯਮ (Core Design Rules):

  • ਸੰਤੁਲਿਤ ਕਵਰੇਜ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ 51 ਡੋਮੇਨ।
  • ਦੁਹਰਾਏ ਗਏ ਵਿਚਾਰਾਂ ਨੂੰ ਹਟਾਉਣ ਲਈ ਸੈਮੈਂਟਿਕ ਡਿਊਪਲੀਕੇਸ਼ਨ।
  • ਪੱਖਪਾਤ ਨੂੰ ਘਟਾਉਣ ਲਈ GPT ਮਾਡਲਾਂ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਮਲਟੀ-ਮਾਡਲ ਜਨਰੇਸ਼ਨ।
  • ਅੰਤਿਮ fine tuning ਲਈ Qwen2.5 3B Instruct।

ਡਾਟਾ ਇੰਜਣ ਕਿਵੇਂ ਕੰਮ ਕਰਦਾ ਹੈ: ਮੈਂ ਵਿਭਿੰਨਤਾ ਪੈਦਾ ਕਰਨ ਲਈ ਕਈ ਮਾਡਲਾਂ ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹਾਂ। GPT ਮਾਡਲ ਤਰਕ (reasoning) ਅਤੇ ਵਿਭਿੰਨਤਾ ਪ੍ਰਦਾਨ ਕਰਦੇ ਹਨ। ਇਸ ਨਾਲ ਲਾਗਤ ਘੱਟ ਰਹਿੰਦੀ ਹੈ ਅਤੇ ਵਿਭਿੰਨਤਾ ਵਧਦੀ ਹੈ।

ਮੈਂ ਡਾਟਾ ਨੂੰ ਸਾਫ਼ ਕਰਨ ਲਈ ਸੈਮੈਂਟਿਕ ਫਿਲਟਰਿੰਗ ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹਾਂ। ਜੇਕਰ ਦੋ ਹਦਾਇਤਾਂ ਦਾ ਸਮਾਨਤਾ ਸਕੋਰ (similarity score) 0.75 ਤੋਂ ਉੱਪਰ ਹੈ, ਤਾਂ ਮੈਂ ਇੱਕ ਨੂੰ ਹਟਾ ਦਿੰਦਾ ਹਾਂ। ਇਹ ਮਾਡਲ ਨੂੰ ਇੱਕੋ ਤਰ੍ਹਾਂ ਦੇ ਪੈਟਰਨਾਂ 'ਤੇ ਓਵਰਫਿਟਿੰਗ (overfitting) ਕਰਨ ਤੋਂ ਰੋਕਦਾ ਹੈ।

ਮੈਂ ਕੁਆਲਿਟੀ ਸਕੋਰ ਕਰਨ ਲਈ ਇੱਕ LLM ਨੂੰ ਜੱਜ ਵਜੋਂ ਵਰਤਦਾ ਹਾਂ। ਇਹ ਇਹਨਾਂ ਚੀਜ਼ਾਂ ਦੀ ਜਾਂਚ ਕਰਦਾ ਹੈ:

  • ਰਵਾਨਗੀ (Fluency)
  • ਪ੍ਰਸੰਗਿਕਤਾ (Relevance)
  • ਸੰਪੂਰਨਤਾ (Completeness)

ਸਿਰਫ਼ 3.5 ਜਾਂ ਇਸ ਤੋਂ ਵੱਧ ਸਕੋਰ ਵਾਲਾ ਡਾਟਾ ਹੀ ਸੈੱਟ ਵਿੱਚ ਰਹਿੰਦਾ ਹੈ।

Fine Tuning ਦੇ ਨਤੀਜੇ: ਮੈਂ Google Colab ਰਾਹੀਂ Qwen2.5 3B Instruct ਮਾਡਲ 'ਤੇ QLoRA ਦੀ ਵਰਤੋਂ ਕੀਤੀ। QLoRA ਪੂਰੇ ਵੇਟਸ (weights) ਦੀ ਬਜਾਏ ਛੋਟੇ ਅਡੈਪਟਰਾਂ (adapters) ਨੂੰ ਟ੍ਰੇਨ ਕਰਦਾ ਹੈ। ਇਹ ਪ੍ਰਦਰਸ਼ਨ ਨੂੰ ਉੱਚਾ ਰੱਖਦੇ ਹੋਏ ਮੈਮੋਰੀ ਬਚਾਉਂਦਾ ਹੈ।

ਨਤੀਜੇ ਇੱਕ ਵੱਡਾ ਫਰਕ ਦਿਖਾਉਂਦੇ ਹਨ:

  • ਬੇਸ ਮਾਡਲ ਅਕਸਰ ਅਰਬੀ ਵਿੱਚ ਬਦਲ ਜਾਂਦਾ ਹੈ।
  • Fine tuned ਮਾਡਲ ਰਵਾਨ ਅਤੇ ਇਕਸਾਰ ਫਾਰਸੀ ਬੋਲਦਾ ਹੈ।

ਮੁੱਖ ਸਬਕ ਸਪੱਸ਼ਟ ਹੈ: ਡਾਟਾ ਇੰਜੀਨੀਅਰਿੰਗ ਮਾਡਲ ਸਕੈਲਿੰਗ ਨਾਲੋਂ ਵੱਧ ਮਹੱਤਵਪੂਰਨ ਹੈ। ਡਾਟਾ ਦੀ ਗੁਣਵੱਤਾ ਮੁੱਖ ਰੁਕਾਵਟ (bottleneck) ਹੈ।

ਮੁੱਖ ਜਾਣਕਾਰੀਆਂ (Key Insights):

  • ਸਾਫ਼ ਡਾਟਾ ਲਈ ਦੁਹਰੀ ਫਿਲਟਰਿੰਗ (Dual filtering) ਜ਼ਰੂਰੀ ਹੈ।
  • ਫ੍ਰੀ ਪ੍ਰੋਂਪਟਸ (free prompts) ਨਾਲੋਂ ਸੰਰਚਿਤ ਟੌਪਿਕ ਗ੍ਰਾਫਸ ਬਿਹਤਰ ਕੰਮ ਕਰਦੇ ਹਨ।
  • ਇੱਕ LLM ਜੱਜ ਸਿਸਟਮ ਦਾ ਇੱਕ ਮਹੱਤਵਪੂਰਨ ਹਿੱਸਾ ਹੈ।

ਇਹ ਸਿਸਟਮ ਘੱਟ ਸਰੋਤਾਂ ਵਾਲੇ LLM ਅਲਾਈਨਮੈਂਟ (alignment) ਲਈ ਇੱਕ ਮੁਕੰਮਲ ਇੰਜਣ ਹੈ।

Source: https://dev.to/mohammadheydari/designing-a-synthetic-data-pipeline-for-persian-llm-fine-tuning-from-topic-graphs-to-qlora-5cg5

Optional learning community: https://t.me/GyaanSetuAi