The best idea is to dry clean it, because if you try with any detergent it may leave stains after it dries out. So you should try calling a specialist.
Get some Woolite or comparable gentle cleanser. Wet a cloth, then put a little bit of detergent on it. Gently rub the spots. Then "rinse" them with a wet cloth. Let it air dry.
You should call a home upholstering cleaner as silk is very damaged by water and some chemicals. If you have an old slipcover for the arms you can try a cleaner on it and if that seems safe you can then try it on the whole sofa. Be careful though.
You may have to purchase a specialist cleaning fluid/product, or hire a professional who specializes in safely cleaning silk furniture to come round and clean it for you. The last thing you want to do is damage it beyond repair.
It’s true that one of the dirtiest items is the sofa in your living room. Clean-up a sofa take up a lot of time and it means having to put the item out of commission until it dries completely.