LKValues: Aligning Large Language Models with Sri Lankan Societal Values
By Nethmi Muthugala, Supryadi, Surangika Ranathunga, Nisansa de Silva, Ruijie Tao, Ovindu Gunatunga, Pengyun Zhu, Shaowei Zhang, Jingting Zheng, Deyi Xiong
"A survey-grounded resource suite for culturally aligning LLMs to Sri Lankan values, comprising a 150k-instruction corpus and 1k benchmark, improving cross-lingual performance."
Abstract
Value alignment of Large Language Models (LLMs) has been shown to be culturally biased toward Western norms. This results in the mishandling of local values in multilingual societies such as Sri Lanka that have their unique cultural dynamics. Existing benchmarks overlook Sri Lankan-contextualized values in its official language Sinhala, hindering culturally sensitive evaluation and fine-tuning. To bridge this gap, we propose LKValues, the first survey-grounded resource suite for Sri Lankan value alignment. From a trilingual survey of 205 respondents, blending adapted global frameworks and LLM-elicited local constructs, we derive 40 majority-endorsed societal values. Using these values, we construct LKvaluesIT, a Sinhala-English news-derived instruction corpus containing 150k scenario-based instances, and LKvaluesBench, a value-sensitive evaluation benchmark of 1,000 instances. We evaluate a set of proprietary and open-weight LLMs with LKvaluesBench. We fine-tune three open-weight base models (Qwen3.5-4B-Base, Qwen3.5-9B-Base, and Aya-Expanse-8B-Base). Our experiments show that newer and larger LLMs still exhibit low-resource and cultural value-alignment gaps. LKValues fine-tuning improves Qwen-family models in English and Sinhala, reducing invalid outputs and cross-lingual disparities, though gains remain model-family dependent. These highlight LKValues efficacy in embedding Sri Lankan values, offering a replicable pipeline for low-resource, country-specific pluralist value alignment. The dataset is publicly available at https://github.com/NextME14/LKValues.
Technical Analysis & Implementation
Technical Breakdown of LKValues§
Overview§
LKValues addresses the cultural bias in LLM value alignment by constructing a survey-driven dataset for Sri Lankan societal values. The core pipeline involves three stages: (1) value elicitation via trilingual survey (Sinhala, Tamil, English), (2) instruction corpus generation from news articles, and (3) fine-tuning and evaluation.
Value Elicitation§
A survey of 205 respondents using a mix of adapted frameworks (e.g., World Values Survey) and LLM-generated local constructs yielded 40 majority-endorsed values (e.g., respect for elders, communal harmony). Each value is a binary label indicating endorsement.
Dataset Construction§
- LKValuesIT: 150k instruction-following instances derived from Sinhala and English news articles. For each article, an LLM generates a scenario and a response that should align with one of the 40 values. The prompt format:
"Scenario: {scenario}\nQuestion: {question}\nAnswer: {answer}"where the answer is a text consistent with the target value. - LKValuesBench: 1k manually verified instances for evaluation, balanced across values and languages.
Fine-tuning Methodology§
We fine-tune base models (Qwen3.5-4B-Base, Qwen3.5-9B-Base, Aya-Expanse-8B-Base) using supervised fine-tuning on LKValuesIT. The loss is the standard autoregressive cross-entropy:
$$ \mathcal{L} = -\sum_{t=1}^{T} \log p_\theta(y_t | x, y_{<t}) $$
where $x$ is the prompt (scenario + question) and $y$ is the target answer.
Code Snippet (PyTorch-like)§
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
model = AutoModelForCausalLM.from_pretrained("Qwen/Qwen3.5-4B-Base")
tokenizer = AutoTokenizer.from_pretrained("Qwen/Qwen3.5-4B-Base")
def train_step(batch):
# batch: dict with keys "input_text", "target_text"
inputs = tokenizer(batch["input_text"], return_tensors="pt", padding=True)
targets = tokenizer(batch["target_text"], return_tensors="pt", padding=True)
# Mask out padding tokens in labels
labels = targets["input_ids"].clone()
labels[labels == tokenizer.pad_token_id] = -100
outputs = model(input_ids=inputs["input_ids"], labels=labels)
loss = outputs.loss
loss.backward()
optimizer.step()
optimizer.zero_grad()Evaluation§
Models are evaluated on LKValuesBench using accuracy (whether the generated answer aligns with the target value) and a cross-lingual consistency metric. Proprietary models (GPT-4, etc.) are also tested zero-shot.
Results§
Fine-tuning on LKValuesIT improves accuracy on both English and Sinhala subsets, with the Qwen family showing reduced invalid outputs (e.g., refusals) and lower cross-lingual disparity. Gains are model-family dependent; Aya-Expanse saw smaller improvements.
Significance§
This work provides a replicable pipeline for low-resource, culturally-specific value alignment, demonstrating that survey-based dataset construction can effectively mitigate cultural biases in LLMs.
Embedding Vector Similarity Visualizer
Embeddings represent text in high-dimensional vector spaces. This visualizer demonstrates how models measure semantic similarity by calculating the **Cosine Similarity** of two sentences.
Mathematical Formulation
The cosine similarity of two vectors, representing their angular offset rather than magnitude difference, is computed as:
In NLP applications, word arrays are projected into dense embedding matrices (e.g. 1536 dimensions). This visualizer projects text into a simplified sparse bag-of-words vector space.