fix perfomance
add sparse dataset and improve fm